ThinkPHP使用技巧

时间:2019-08-10 03:50来源:计算机教程
1.thinkphp中我们的入口文件写法,可能最后要加一个app::run();  1、让Runtime下的文件格式化:入口文件处:define('STRIP_RUNTIME_SPACE',false); 3.0就完全不用了,你会发现不然会出现两次调用

1.thinkphp中我们的入口文件写法,可能最后要加一个app::run();



图片 1

1、让Runtime下的文件格式化:入口文件处:define('STRIP_RUNTIME_SPACE',false);

3.0就完全不用了,你会发现不然会出现两次调用2.debug 我们开发的时候在2.0中我们一般都这样写,在conf下边的config.php

2、开发时不进行缓存:入口文件处:define('NO_CACHE_RUNTIME',true);

图片 2

3、ThinkPHP支持四种访问模式:a:普通模式 b:pathinfo模式 c:rewrite模式 d:兼容模式 在配置文件中用URL_MODEL=0(1、2、3)来表示。

但是现在的3.0的申明方式就不一样了,我们就用define(‘APP_DEBUG',true);

4、改变分隔线/:URL_PATHINFO_DEPR。默认为:/

这样来申明

5、跨模块<控制器>调用模板方法:模块<控制器名:模板名(不加后缀)>,如$this->display('Index:tt');

图片 3

6、跨皮肤调用模板方法:假如Tpl下有skin皮肤,该皮肤下有User文件夹,该文件夹下有sg.html,那么$this->display('skin@User:sg');就跨皮肤调用了。

3.在模板分配模板的时候,在2.0的时候我们会写这些$this->display(皮肤@模块:方法);

7、全路径输出:在工程目录<非项目目录>下,建一个Public文件夹,这就是公共文件,可以将js文件放在这里供前后台共用。现在假设Public文件夹下有一个ss.html文件,那么

但是我们在3.0就是$this->display(皮肤:模块:方法);

      $this->display('./Public/ss.html');就输出公共文件中的ss.html模板。

4.在我们调用模型的时候,我们可能会这样$user=D(‘user');这个在2.0是完全可以没问题的,但是

8、display的参数:依次为:模板名,编码格式,mimie。如:$this->display('./Public/ss.html','utf-8','text/xml');

如果你写在3.0上,不好意思你写在UserModel.php模型方法根本调用不出来,这个肿么办呢?

9、系统常量:

$user->D(‘User');不要忽略大小写

__ROOT__  //代表网站的根目录地址

5.3.0的部署目录和2.0的是不同的大家要自己惨老看看

__APP__  //代表项目的入口文件地址

6.3.0的自定义目录或者路径都跟2.0的有区别 大家要对照的手册参考看一下,其实也可以自己写一下

__URL__  //代表当前操作地址

今天就先写这么多,继续更新慢慢来~~

__ACTION__  //代表当前操作地址

您可能感兴趣的文章:

__SELF__  //代表当前的URL地址

__CURRENT__  //代表当前模块的模板目录

__PUBLIC__  //代表整个项目的公用目录

__TMPL__  //代表整个项目的模板目录,如Tpl/default/

ACTION_NAME  //当前操作名称

APP_PATH  //代表当前项目目录

APP_NAME  //代表当前项目名称

APP_TMPL_PATH  //代表当前项目的模板目录

APP_PUBLIC_PATH  //代表项目公共文件目录

CACHE_PATH  //项目模板缓存目录

10、配置文件中一些有用的参数:

'SHOW_RUN_TIME'=>true,//运行时间显示

'SHOW_ADV_TIME'=>true,//显示详细的运行时间

'SHOW_DB_TIMES'=>true,//显示数据库的操作次数

'SHOW_CACHE_TIMES'=>true,//显示缓存操作次数

'SHOW_USE_MEM'=>true,//显示内存开销

11、halt();//中断程序执行。

12、dump是ThinkPHP里面预定义好的一个函数,具有显示更清晰的作用。

13、读取配置文件其中信息:C,如:$a=C('DB_HOST');这种情况可用于在后台中向管理员显示服务器IP,数据库信息等。

14、自定义Model类并在实例化模型<模型就是数据库操作类>时使用,如:

a、在工程目录下的home<前台文件夹>下的Lib下的Model下建立一个IndexModel.class.php,然后里面写一个方法play,此方法循环输出1至10。

b、在Action中的方法里:

$index=M('index','IndexModel'); //这里可以加上自定义的模型类一起实例化

$index->play();

那么会输出1至10。

15、实例化模型可以用D也可以用M,M是快速实例化,且可带参,如M('User','play');//play是一个对应的模型类。也可以$user=new UserModel();

16、D方法可以自动检测模型类,不存在时它会抛出一个异常。同时对于已实例化过的模型,不会去重复实例化。默认的D方法只能支持调用当前项目(应用)下面的模型。

17、ThinkPHP的分组功能:如果现在想在前台实合例化后台模型,那么:

$admin=D('admin.user');

dump($admin->find());

将输出后台模型数据,这就是分组功能。
18、CommonAction中的_initialize方法让每一个继承它的类的每个方法都要经过_initialize。think_access表要加个pid(int11)字段。四张表是必须的,但是还需要一张user表,里面字段自定。

19、解决ThinkPHP中使用Smarty然后include方法无效的办法:不是不支持,但是路径没有那么智能,比如Tpl的default下的Task模块下有一test.html文件,那么,请用<{include file='default/Task/test.html'}>以下为引用的话:

编辑:计算机教程 本文来源:ThinkPHP使用技巧

关键词: