浅谈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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
Admin generator, filters and I18n
Oct 06 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
Oct 15 PHP
PHP 快速排序算法详解
Nov 10 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
PHP中子类重载父类的方法【parent::方法名】
May 06 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
php使用redis的几种常见操作方式和用法示例
Feb 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
BBS(php & mysql)完整版(三)
2006/10/09 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
php文件系统处理方法小结
2016/05/23 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
ie下动态加态js文件的方法
2011/09/13 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
python中return的返回和执行实例
2019/12/24 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
三星英国官网:Samsung英国
2018/09/25 全球购物
工程质量承诺书
2014/03/27 职场文书
法人授权委托书
2014/04/03 职场文书
活动总结书
2014/05/08 职场文书
个人典型事迹材料
2014/12/30 职场文书
工程服务质量承诺书
2015/04/29 职场文书