使用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关闭缓存的方法

PHP和Python都是高层次的编程语言,广泛应用于Web开发、数据处理和自动化任务。1.PHP常用于构建动态网站和内容管理系统,而Python常用于构建Web框架和数据科学。2.PHP使用echo输出内容,Python使用print。3.两者都支持面向对象编程,但语法和关键字不同。4.PHP支持弱类型转换,Python则更严格。5.PHP性能优化包括使用OPcache和异步编程,Python则使用cProfile和异步编程。

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

PHP在现代化进程中仍然重要,因为它支持大量网站和应用,并通过框架适应开发需求。1.PHP7提升了性能并引入了新功能。2.现代框架如Laravel、Symfony和CodeIgniter简化开发,提高代码质量。3.性能优化和最佳实践进一步提升应用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP中使用clone关键字创建对象副本,并通过\_\_clone魔法方法定制克隆行为。1.使用clone关键字进行浅拷贝,克隆对象的属性但不克隆对象属性内的对象。2.通过\_\_clone方法可以深拷贝嵌套对象,避免浅拷贝问题。3.注意避免克隆中的循环引用和性能问题,优化克隆操作以提高效率。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1
功能强大的PHP集成开发环境