浅谈laravel框架与thinkPHP框架的区别


Posted in PHP onOctober 23, 2019

主要区别:(thinkPHP更适合国人的编码习惯)

1、渲染模版方式的不同:

在Laravel框架里,使用return view()来渲染模版;

而ThinkPHP里则使用了$this->display()的方式渲染模版;

2、在Laravel框架里,由于其考虑到了跨站请求伪造, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误;

而TP框架则需要自己手动完成防止跨站攻击的代码;

3、Laravel是一个重路由的框架(5.4),所有的功能都是由路由发起的,哪怕没有控制器方法,只要写了路由就能够访问,thinkPHP(3.2),必须要有控制器方法才能正常访问;

4、laravel具有强大的社区化扩展,(composer扩展自动加载);

5、laravel具有强大的Blade模版引擎;

6、中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证等;

7、条件判断语句书写方式的差异:

Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头 以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理;

而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历

Laravel里内置了大量的方法供开发者使用,在实际应用中更接近于"让对象完成一切"的开发思想,比如在后台表单验证的时候,Laravel内置了大量的验证方法,例如对用户名的验证:我们使用可以validate方法里'username'=>'required'(不能为空)|alpha_dash(必须数字字母下划线)|between:6,18(在多少位数之间);还内置了例如email;same:字段名;diff:字段名等大量的方法极大的提高了开发速度;

加密方式 在TP框架中 我们对用户名密码进行加密时使用md5();的方式进行加密,但md5的缺点在于其可以逆向破解,而且在同等规则下同样的密码md5加密出的字符串是有可能出现相同的,这就降低其安全性;

但在Laravel框架中内置了"哈希"Hash加密单向加密方法,且同样的参数加密出的字符串是绝对不会出现相同的情况 这就提高了安全性;

在实际开发中我们常常遇到这样的问题,就是开发地点不固定,这就造成了我们需要频繁的更改数据库配置,给开发工作造成了麻烦,TP依然没有避免这个"灾难";在laravel框架中,.env环境文件的出现解决了这个麻烦,我们只需要在不同的工作地点配置好.env文件就不必再进行配置,因为无论是git还是svn " .env是不会随着文件一起提交到服务器的";

以上这篇浅谈laravel框架与thinkPHP框架的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
PHP 设置MySQL连接字符集的方法
Jan 02 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
php编写简单的文章发布程序
Jun 18 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
php实现记事本案例
Oct 20 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 #PHP
基于laravel缓冲cache的用法详解
Oct 23 #PHP
PHP实现简单登录界面
Oct 23 #PHP
laravel框架与其他框架的详细对比
Oct 23 #PHP
laravel清除视图缓存的代码
Oct 23 #PHP
PHP实现简单用户登录界面
Oct 23 #PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 #PHP
You might like
我常用的几个类
2006/10/09 PHP
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
javascript基本类型详解
2014/11/28 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python self,cls,decorator的理解
2009/07/13 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
python统计字符的个数代码实例
2020/02/07 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
优秀毕业生推荐信
2013/11/02 职场文书
电子信息专业学生自荐信
2013/11/09 职场文书
个人近期表现材料
2014/02/11 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
班主任培训研修日志
2015/11/13 职场文书