400-969-7660
首页 > IT问答库 > Java > 优逸客PHP之thinkphp开发技巧

优逸客PHP之thinkphp开发技巧

2017-07-17 16:28:38 发布
      优逸客PHP之thinkphp开发技巧,做PHP开发的经常会用到thinkphp,这个是PHP一个非常常用的框架,我介于之前对这个框架的使用,总结了一些相关的技巧,大家共享一下,不知道会不会有所疏漏,希望大家一起交流。共同进步。也希望大家能积极参与进行补充。大家可以跟帖留言。
       (1)不要在模板中直接使用{$_GET.id}或者{$Think.get.id},因为{$_GET.id}{$Think.get.id}这两种方式都没有任何过滤,容易被XSS。建议使用I方法,即:{:I(get.id)}
       (2)在thinkphp中如果需要获取数据库中某个表的字段该怎么办呢?示例如下:
       查看代码打印
       $user=M(user
       $fields=$user-getDbFields();
       结果将返回一个由表字段组成的一个一维数组。
       (3)数据修改的过程中如果我们只需要修改某个字段的值,就可以使用setField方法,而不需要每次都调用save方法,例如:
       查看代码打印
       $user=M(user
       $user-where(id=2)-setField(username,www.phpernote.com
       (4)涉及到比较的情况下不一定非得使用ifcondition这种形式的,还可以按如下的形式来写:
       查看代码打印
       eqname=webvalue=phpernotevalue/eq//name变量的值等于phpernote就输出
       neqname=webvalue=phpernotevalue/neq//name变量的值不等于phpernote就输出
       gtname=agevalue=5value/gt//name变量的值大于5就输出
       egtname=agevalue=5value/egt//name变量的值大于等于5就输出
       ltname=agevalue=5value/lt//name变量的值小于5就输出
       eltname=agevalue=5value/elt//name变量的值小于等于5就输出
       (5)在thinkphp的删除操作中可以不使用where直接使用delete来执行删除,例如:
       查看代码打印
       $User-delete(2,5//删除主键为2和5的数据
       (6)关于thinkphp的几个快速操作的函数的用法说明。
       C操作,操作(动态)配置:主要用于Action方法里面
       获取:C(配置参数)
       设置:C(配置参数,新值)
       A操作,快速创建Action对象:
       $action=A(User等效于$action=newUserAction();
       D操作,快速创建模型数据对象:
       $model=D(User等效于$model=newUserModel();
       S操作,快速操作缓存方法
       获取:S(name)
       设置:S(name,value
       删除:S(name,NULL);
       F操作,快速文件数据保存方法,使用方法与S操作一样。
       (7)Model命名时,默认要和数据库里的表名一致,如PhpernoteUserModel.class.php对应数据库的名称应该是前缀_phpernote_user,在程序代码中的调用应该是:D(PhpernoteUser
       (8)开发的过程中如不需要进行缓存,可以在入口文件中进行如下定义:
       查看代码打印
       define(NO_CACHE_RUNTIME,true);
       (9)在开发的过程中如果需要知道一些额外的信息,可在配置文件中进行相应的定义,下面给出几个比较常见的信息定义方式:
       查看代码打印
       SHOW_RUN_TIME=true,//运行时间显示
       SHOW_ADV_TIME=true,//显示详细的运行时间
       SHOW_DB_TIMES=true,//显示数据库的操作次数
       SHOW_CACHE_TIMES=true,//显示缓存操作次数
       SHOW_USE_MEM=true,//显示内存开销
       (10)自定义Model类并在实例化模型(模型就是数据库操作类)时使用,举例如下:
       a、在工程目录下的Lib目录下的Model目录下建立一个IndexModel.class.php,然后里面写一个方法play,此方法内容体为循环输出1至10。
       b、那么在Action中的方法里,还可以这么写:
       查看代码打印
       $index=M(index,IndexModel//这里可以加上自定义的模型类一起实例化
       $index-play();
       那么会输出1至10。
       (11)使用thinkphp的过程中如果需要更改默认的模板后缀名,可以在配置文件中做如下定义:
       查看代码打印
       TMPL_TEMPLATE_SUFFIX=.dwt//这里就将模板后缀名改为了dwt
上一篇 : 优逸客PHP培训之五种常用的PHP工具
下一篇 : PHP教程之PHP文件操作基本代码

在线预约 立享免费试学资格

姓      名 :
联系方式 :
试学课程 :