浅谈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 数组实例说明
Aug 18 PHP
PHP 简单日历实现代码
Oct 28 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 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
推荐一篇入门级的Class文章
2007/03/19 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php模板原理讲解
2013/11/13 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
js 窗口抖动示例
2013/09/04 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
JS实现打字游戏
2019/12/17 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
python监控键盘输入实例代码
2018/02/09 Python
详解python多线程之间的同步(一)
2019/04/03 Python
pandas删除指定行详解
2019/04/04 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
应届生会计电算化求职信
2013/10/03 职场文书
高三自我鉴定
2013/10/23 职场文书
元旦晚会邀请函
2014/02/01 职场文书
对标管理实施方案
2014/03/12 职场文书
股份转让协议书
2014/04/12 职场文书
厨房管理计划书
2014/04/27 职场文书
爱祖国演讲稿
2014/05/04 职场文书
公司感谢信范文
2015/01/22 职场文书
go xorm框架的使用
2021/05/22 Golang