首页 > 代码库 > THINKPHP
THINKPHP
1、在开发时要打开调试模式,在入口文件中 define(‘APP_DEBUG‘,TRUE); 保证在开发阶段,每一项配置都是最新的。等网站上线后就要关闭注销掉。
2、Think里的打印函数:dump($result);
另一个打印数组方法:
echo "<pre>";print_r($result);
3、THINKPHP里的配置项主要在Conf里的conv ntion.php文件里。
使用数据库时要注意配置项里存在一个 表前缀DB-PREFIX 要配置好才能顺利读取对应的表。
但是,我们一般不能直接在thinkphp框架里修改配置文件,而是在项目下的Conf里修改配置文件即可。
4、前端后端常用创建方法:
在think下建立前端index目录、后端Admin目录及index.php、Admin.php两个单入口文件。
缺陷是后端无法使用前端的配置文件,只能使用各自的或thinkphp框架的配置文件。
解决方法:为了省去同一个配置项在前端和后端反复配置,出现重复代码。我们再建立一个公用Conf文件夹,里面添加config.php文件,在该文件里配置前后端公用的配置项。然后,在前后端各自的config.php里合并配置项。
//前、后台的config.php
$config = array(
‘DB_HOST‘ => ‘localhost‘
);
return array_merge(include ‘./Conf/config.php‘,$config);
5、添加扩展函数库,在Common目录下,创建common.php(必须这样命名才能被读取)在里面就可以添加自定义常用函数了。
@ 符号代表当前项目下的Common文件夹。@.common 代表Common文件夹下的common.php文件。
**
如果函数扩展库不命名为common.php,而要命名为比如function.php,想要调用该函数库有两种方法:
一种是在配置文件里设置 ‘LOAD_EXT_FILE‘ => ‘function‘
另一种是在调用该函数库时,临时加载 load(‘@.function‘); 就会把整个函数库都添加进来,就可以使用内部函数
**
6、问题:模版显示与模版替换 里的路径设置没听明白!
7、url里的路径设置:
localhost/wish/index.php/Index/index/uid/1
index.php后面的第一根斜线是IndexAction控制器,第二根斜线后是控制器里的index方法,然后是GET参数,设置uid的值为1。相当于设置 $_GET[‘uid‘]=1。
[_URL_]是一个数组
[_URL_] =>Array{
[0] => Index
[1] => index
[2] => uid
[3] => 1
}
8、U函数自动组合url地址。
U(‘Index/index‘) = /wish/index.php/index/index.html
【静态后缀名 .html (可在配置文件中设置 ‘URL_HTL_SUFFIX‘ => ‘html‘;也可以在U函数里面设置)】
使用U函数设置GET参数 和 临时后缀名 和 是否跳转(0、1)和 是否要显示域名
U(‘Index/show‘, array(‘uid‘=>1) , ‘asp‘ , 1, true);
http://127.0.0.1/wish/index.php/show/index/uid/1.asp
跳转到Index控制器下的show方法,并且附带GET参数uid=1,设置后缀为asp。
8.1 配置URL地址显示方式
‘URL_MODEL‘ => 0 , 则 U(‘Index/index‘,array(‘uid‘=>1)) = wish/index.php?m=index&a=show&uid=1
‘URL_MODEL‘ => 1 , 则就是上面的url格式
8.2 以后使用url地址,我们最好使用U函数来生成,可直接配置URL_MODEL来改变url格式。
比如,在 <a></a>超链接中插入url地址:
<a href=‘{:U(‘**‘)}‘></a>
9、 I 函数 自动从GET或POST中获取变量值 I(‘uid‘),则不需要利用$_GET $_POST来获取
I(‘get.‘)表示GET数组
I(‘post.‘)表示POST数组
防止脚本注入:echo I(‘username‘, ‘ ‘, ‘htmlspecialchars‘); 即使username是脚本代码也不会被执行。
直接使用I(‘username‘)的话,如果username的内容是一个javascript脚本,则会自动执行。
10、