浅谈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 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
php 文章调用类代码
Aug 11 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
php将html转为图片的实现方法
May 19 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 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 程序员应该使用的10个组件
2009/10/31 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php邮件发送的两种方式
2020/04/28 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python中的yield使用方法
2014/02/11 Python
Python实现CET查分的方法
2015/03/10 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
Python中的枚举类型示例介绍
2019/01/09 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
英国二手物品交易网站:Preloved
2017/10/06 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
自我推荐书
2013/12/04 职场文书
建筑行业的大学生自我评价
2013/12/08 职场文书
工作求职自荐信
2014/06/13 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书