ThinkPHP基础知识(一)

1.入口文件中定义的内容

// 检测PHP环境if(version_compare(PHP_VERSION,‘5.3.0‘,‘<‘))  die(‘require PHP > 5.3.0 !‘);
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为falsedefine(‘APP_DEBUG‘,True);
// 定义应用目录define(‘APP_PATH‘,‘./Application/‘);
// 引入ThinkPHP入口文件require ‘./ThinkPHP/ThinkPHP.php‘;
//定义根目录的绝对地址define(‘ROOT‘,str_replace("\\","/",dirname(__FILE__)));

2.U方法的参数规则

(‘地址表达式‘,[‘参数‘],[‘伪静态后缀‘],[‘显示域名‘])

地址表达式:[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...

3.如何判断请求类型,常用的请求方式有哪两种,I方法的参数规则?

判断请求类型:REQUEST_METHOD常见的请求方式:get postI方法的参数规则:I(‘变量类型.变量名‘,[‘默认值‘],[‘过滤方法‘],[‘额外数据源‘])

  注意:变量类型不区分大小写。
  变量名则严格区分大小写。
  默认值和过滤方法均属于可选参数。

4.成功和失败,重定向跳转的方法以及参数规则。

success(‘成功条件‘,‘跳转地址‘,‘跳转时间’);

注意:方法的默认跳转地址是$_SERVER["HTTP_REFERER"],

error(‘错误提示‘,‘跳转地址‘,‘跳转时间’);

注意:默认的等待时间success方法是1秒,error方法是3秒重定向到New模块的Category操作
重定向:$this->redirect(‘New/category‘, array(‘cate_id‘ => 2), 5, ‘页面跳转中...‘);

重定向到指定的URL地址

redirect(‘/New/category/cate_id/2‘, 5, ‘页面跳转中...‘)

5.URL的四种模式,简述每种形式的规则

普通模式:http://localhost/?模块=home&控制器=user&操作=login&var=valuepathinfo模式:http://localhost/index.php/home/user/login/var/value/REWRITE模式:http://localhost/home/user/login/var/value兼容模式:http://localhost/?s=/home/user/login/var/value

6.TP常用的配置文件有哪几个?配置文件的加载顺序依次是什么?

配置文件:1.惯例配置:框架内置配置文件(位于ThinkPHP/Conf/convention.php)     2.应用配置:应用配置文件也就是调用所有模块之前都会首先加载的公共配置文件(默认位于Application/Common/Conf/config.php)     3.模块配置:每个模块会自动加载自己的配置文件(位于Application/当前模块名/Conf/config.php)加载顺序:惯例配置--->应用配置--->模块配置

7.模版渲染display方法的参数规则

display(‘[模板文件]‘[,‘字符编码‘][,‘输出类型‘]);模板文件的写法支持下面几种:

8.常用的模版内置标签以及在模版中使用的示例,举出5个!

1.<foreach name=‘‘ item=‘‘ key=‘‘></foreach>2.<volist name=‘‘ id=‘‘></volist>3.<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" ></for>4.比较标签:<eq name="name" value="value">value</eq> 
5.范围判断标签:<in name="id" value="1,2,3">id在范围内</in>6.<if condition="$value eq $k">value</if>7.<empty name="name">name为空值</empty>8.<import file="Js.Util.Array" basepath="其他目录" />//起始路径是Public目录

9.模版包含的参数规则以及举例说明

include标签用法:<include file=‘模版表达式或者模版文件1,模版表达式或者模版文件2,...‘ />          1.使用模板表达式:例如: 

          2.使用模板文件:可以直接包含一个模板文件名(包含完整路径),例如:<include file="./Application/Home/View/default/Public/header.html" /                    3.传入参数:<include file="Public/header" title="ThinkPHP框架" keywords="开源WEB开发框架" />                  模板中使用:

10.三大自动的参数规则

字段映射:protected $_map=array(        ‘表单中的名‘=>‘字段名’//把表单中的name名映射到数据表中的字段名      );自动验证:protected $_validate=array(        array(‘字段名‘,‘验证规则‘,‘提示信息‘,‘验证条件‘,‘附加规则‘,‘验证时间‘),      );自动完成:protected $_auto=array(        array(‘字段名‘,‘验证规则‘,‘验证时间‘,‘附加规则‘),      );

11.举例描述上传类在控制器中调用的全过程代码(要求包含控制器的代码以及模型类新增数据到数据库的全部代码),并说明表单中需要注意的内容!

模型类:public function doUpload(){    if(empty($config)){        $config = array(            ‘maxSize‘    =>    3145728,            ‘rootPath‘   =>    ‘./Public/‘,//保存根路径,一定要重新设置,否则无法找到根路径            ‘savePath‘   =>    ‘Uploads/‘,            ‘saveName‘   =>    array(‘uniqid‘,‘‘),            ‘exts‘       =>    array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘),            ‘autoSub‘    =>    true,            ‘subName‘    =>    array(‘date‘,‘Ymd‘),        );    }    $upload=new Upload($config);    $info=$upload->upload();    if(!$info){        $this->error=$upload->getError();        return false;    }    foreach($info as $key=>$v){        $pic[$key]=$v[‘savepath‘].$v[‘savename‘];    }    return $pic;}控制器:
$pic=$this->work->doUpload();
$_POST[‘图片字段‘]=$pic[‘图片字段‘];//添加到数据库中
表单中需要注意的内容:1.<form action="" method="post" enctype="multipart/form-data" ></form>
2.<input type="file" name="" value="">3.注意savepath路径。


原文地址:https://www.cnblogs.com/houbingxu2014025681/p/8330345.html

时间: 2024-10-13 04:35:38

ThinkPHP基础知识(一)的相关文章

TP框架---thinkphp基础知识

php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目)   二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

BroadcastReceive基础知识总结

BroadcastReceive基础知识总结 1.BroadcastReceive简介 BroadcastReceive也就是"广播接收者"的意思,顾名思义,就是用来接收来自系统和应用中的广播 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能,当网络状态改变时,系统会产生一条广播,接收到这条广播,就能及时的做出提示和保存数据等操作,当电池的电量改变的时候,系统会产生一条广播,接收到这条广播就能在电量低的时候告知用户

基础知识--:before伪元素和:after伪元素

http://book.51cto.com/art/201108/285688.htm 3.7  替换指定位置 大家都知道before和after是前.后的意思.但是奇怪的是,CSS中的:before伪元素和:after伪元素是为源文档中不存在的内容设置样式的. 没有内容怎么设置样式呢?别急!它们有一个content属性,一起使用就可以为某个选择器前.后的内容设置样式了. 下面就来了解一下:before伪元素和:after伪元素的用法. 视频教学:光盘/视频/3/3.7  替换指定位置.avi 

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永

web基础知识(一)关于ajax传值最基础东西

HTTP方法之 GET对比POST GET:从指定的资源请求数据, POST:向指定的资源提交要被处理的数据 GET方法: 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?name1=value1&name2=value2 有关 GET 请求的其他一些注释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回

线程基础知识

什么是线程: 在一个程序里的一个执行路线就叫做线程(thread).更准确的定义是:线程是"一个进程内部的控制序列" 一切进程至少都有一个执行线程 进程与线程 进程是资源竞争的基本单位 线程是程序执行的最小单位 线程共享进程数据,但也拥有自己的一部分数据 线程ID 一组寄存器 栈 errno 信号状态 优先级 fork和创建新线程的区别 当一个进程执行一个fork调用的时候,会创建出进程的一个新拷贝,新进程将拥有它自己的变量和它自己的PID.这个新进程的运行时间是独立的,它在执行时几乎

Keepalived基础知识

大纲: 一.什么是Keepalived? 二.VRRP协议简介. 三.Keepalived原理. 四.Keepalived配置文件详解. 五.Keepalived配置示例. 一.什么是Keepalived? 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,那说到keepalived时不得不说的一个协议就是VRRP协议,可以说这个协议就是