一.入口文件中定义的内容?
1.检测PHP环境: if(version_compare(PHP_VERSION,\'5.3.0\',\'<\')) die(\'require PHP > 5.3.0 !\');
2.开启调试模式 建议开发阶段开启 部署阶段注释或者设为false : define(\'APP_DEBUG\',True);
3.定义根目录的绝对地址: define(\'ROOT\',str_replace("\\","/",dirname(__FILE__)))
4.定义应用目录: define(\'APP_PATH\',\'./Application/\');
5.引入ThinkPHP入口文件: require \'./ThinkPHP/ThinkPHP.php\';
二.U方法的参数规则?
U(\'地址表达式\',[\'参数\'],[\'伪静态后缀\'],[\'显示域名\'])
地址表达式:[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...
三.如何判断请求类型,常用的请求方式有哪两种,I方法的参数规则?
IS_POST; IS_GET; QUEST_METHOD
I(\'变量类型.变量名\',[\'默认值\'],[\'过滤方法\'],[\'额外数据源\']) []里面的值为可选值;
四:成功和失败的跳转的方法以及参数规则?
成功:$this->success("成功的提示","跳转地址","时间");
失败:$this->error("失败的提示","跳转地址","时间");
五:URL的四种模式,简述每种形式的规则?
1.普通模式 : http://localhost/?m=home&c=user&a=login&var=value URL_MODEL设置:0;
2.PATHINFO模式 : http://localhost/index.php/home/user/login?var=value URL_MODEL设置:1;
3.REWRITE模式 : http://localhost/home/user/login/var/value URL_MODEL设置:2;
4.兼容模式 : http://localhost/?s=/home-user-login-var-value URL_MODEL设置:3;
六:TP常用的配置文件有哪几个?配置文件的加载顺序依次是什么?
1) 惯例配置文件(位于ThinkPHP/Conf/convention.php)
公共配置文件(默认位于Application/Common/Conf/config.php)
调试配置文件(位于ThinkPHP/Conf/debug.php)
应用调试配置文件(位于Application/Common/Conf/debug.php)
2) 惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置
七:模版渲染display方法的参数规则?
display(\'[模板文件]\'[,\'字符编码\'][,\'输出类型\'])
八:常用的模版内置标签以及在模版中使用的示例,举出5个!
<volist name="list" id="data">{$data[\'id\']}<br/></volist>
<foreach name="list" item="vo" >{$vo[\'id\']}</foreach>
<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" ></for>
<switch name="变量" ><case value="值1" break="0或1">输出内容1</case><default />默认情况</switch>
<eq name="name" value="value">相等<else/>不相等</eq>
<if condition="($name eq 1) OR ($name gt 100) "> value3</if>
九:模版包含的参数规则以及举例说明?
模块@主题/控制器/操作
<include file="Public/menu"/>
十:三大自动的参数规则?
protected $_map = array( \'name\' =>\'username\', // 把表单中name映射到数据表的username字段
\'mail\' =>\'email\', // 把表单中的mail映射到数据表的email字段
);
protected $_validate = array( array(\'verify\',\'require\',\'验证码必须!\'), //默认情况下用正则进行验证);
protected $_auto = array ( array(\'status\',\'1\'), // 新增的时候把status字段设置为1);
十一:举例描述上传类在控制器中调用的全过程代码?
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array(\'jpg\', \'gif\', \'png\', \'jpeg\');// 设置附件上传类型
$upload->savePath = \'./Public/Uploads/\'; // 设置附件上传目录
// 上传文件 $info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError()); }
else{// 上传成功
$this->success(\'上传成功!\');
}
}