浅谈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 相关文章推荐
Snoopy类使用小例子
Apr 15 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
php常用Stream函数集介绍
Jun 24 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
PHP开发Apache服务器配置
Jul 15 PHP
php简单判断文本编码的方法
Jul 30 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 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
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
PHP创建XML接口示例
2019/07/04 PHP
修改发贴的编辑功能
2007/03/07 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
python中异常捕获方法详解
2017/03/03 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
python中kmeans聚类实现代码
2018/02/23 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
求网格中的黑点分布
2013/11/06 面试题
员工自我鉴定范文
2013/10/06 职场文书
中国梦的演讲稿
2014/01/08 职场文书
财产公证书
2014/04/10 职场文书
入党积极分子评语
2014/05/04 职场文书
社区戒毒工作方案
2014/06/04 职场文书
施工安全汇报材料
2014/08/17 职场文书
争先创优心得体会
2014/09/12 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
python和anaconda的区别
2022/05/06 Python
Redis全局ID生成器的实现
2022/06/05 Redis