首页 > 代码库 > 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、