登录  /  注册

thinkphp开发技巧总结_PHP教程

php中文网
发布: 2016-07-13 10:31:18
原创
806人浏览过

使用thinkphp做开发的过程中的一些技巧总结,以后发现了还会继续补充,也欢迎更多的朋友在下面留言补充。

(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)涉及到比较的情况下不一定非得使用if condition这种形式的,还可以按如下的形式来写:

<eq name="web" value="phpernote">value</eq> // name 变量的值等于 phpernote 就输出
<neq name="web" value="phpernote">value</neq> // name 变量的值不等于 phpernote 就输出
<gt name="age" value="5">value</gt> // name 变量的值大于 5 就输出
<egt name="age" value="5">value</egt> // name 变量的值大于等于 5 就输出
<lt name="age" value="5">value</lt> // name 变量的值小于 5 就输出
<elt name="age" value="5">value</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=new UserAction();

D操作,快速创建模型数据对象:

$model=D('User'); 等效于 $model=new UserModel();

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
登录后复制

您可能感兴趣的文章

  • ThinkPHP中的查询技巧总结
  • Thinkphp 内部函数 ADSLCFUI 快捷方法全解析
  • thinkphp打印最后一条sql语句
  • thinkphp模板中判断volist循环的最后一条记录
  • Thinkphp 模板中常用的系统变量总结
  • PHP实现MVC开发得最简单的方法,模型的思考
  • thinkphp自动验证与自动填充无效的解决办法
  • thinkphp关闭缓存的方法

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/764116.htmlTechArticle使用thinkphp做开发的过程中的一些技巧总结,以后发现了还会继续补充,也欢迎更多的朋友在下面留言补充。 (1)不要在模板中直接使用...
智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号