浅谈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开发中的安全防范知识详解
Jun 06 PHP
PHP禁止个别IP访问网站
Oct 30 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
常用PHP框架功能对照表
Oct 23 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 PHP
PHP会话处理的10个函数
Aug 11 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 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
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
javascript new一个对象的实质
2010/01/07 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
js实现动态时钟
2020/03/12 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
Python的Flask框架中web表单的教程
2015/04/20 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
浅谈flask源码之请求过程
2018/07/26 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
Python错误的处理方法
2020/06/23 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
外贸公司实习自我鉴定
2013/09/24 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
浅谈Python协程asyncio
2021/06/20 Python
Python借助with语句实现代码段只执行有限次
2022/03/23 Python
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技