浅谈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 Undefined index报错的修复方法
Jul 17 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
php命令行用法入门实例教程
Oct 27 PHP
php之readdir函数用法实例
Nov 13 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
实例介绍PHP删除数组中的重复元素
Mar 03 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 27 PHP
PHP 出现 http500 错误的解决方法
Mar 09 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 session和cookie使用说明
2010/04/07 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
VSCode下好用的Python插件及配置
2018/04/06 Python
Python查看微信撤回消息代码
2018/06/07 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
python 绘制国旗的示例
2020/09/27 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
几个常见的软件测试问题
2016/09/07 面试题
教学实习自我评价
2014/01/28 职场文书
首次购房证明
2015/06/19 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
如何获取numpy array前N个最大值
2021/05/14 Python
python元组打包和解包过程详解
2021/08/02 Python
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS