浅谈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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
基于PHP array数组的教程详解
Jun 05 PHP
探讨PHP使用eAccelerator的API开发详解
Jun 09 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
PHP实现WebService的简单示例和实现步骤
Mar 27 PHP
PHP中把对象数组转换成普通数组的方法
Jul 10 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
php post换行的方法
Feb 03 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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
我的论坛源代码(四)
2006/10/09 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
phpfpm的作用和用法
2019/10/10 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
vue-loader教程介绍
2017/06/14 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
大学四年个人的自我评价
2014/02/26 职场文书
2014小学年度工作总结
2014/12/20 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers