浅谈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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
基于mysql的论坛(7)
Oct 09 PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 PHP
服务器上配置PHP运行环境教程
Feb 12 PHP
php实现的日历程序
Jun 18 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
php+ajax 文件上传代码实例
Mar 18 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
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
python 读写中文json的实例详解
2017/10/29 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
Python基础之文件读取的讲解
2019/02/16 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
学python最电脑配置有要求么
2020/07/05 Python
电脑教师的自我评价
2013/12/18 职场文书
网吧消防安全制度
2014/01/28 职场文书
《学会待客》教学反思
2014/02/22 职场文书
红色故事汇观后感
2015/06/18 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
python 对图片进行简单的处理
2021/06/23 Python
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL