thinkphp与laravel区别

发布时间 - 2019-07-03 00:00:00    点击率:

thinkphp与laravel区别

主要区别:(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是不会随着文件一起提交到服务器的";

本文来自ThinkPHP框架技术文章栏目:http://www./phpkj/thinkphp/


# thinkphp  # laravel  # php  # composer  # 中间件  # if  # foreach  # 表单验证  # 字符串  # 循环  # 对象  # this  # display  # git  # svn  # 数据库  # http  # 这就  # 表单  # 造成了  # 于其  # 内置了  # 是一个  # 提高了  # 字段名  # 是有  # 是由 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解jQuery中的事件  Laravel Fortify是什么,和Jetstream有什么关系  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  做企业网站制作流程,企业网站制作基本流程有哪些?  Laravel中的Facade(门面)到底是什么原理  Python数据仓库与ETL构建实战_Airflow调度流程详解  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel怎么上传文件_Laravel图片上传及存储配置  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何实现数据库事务?(DB Facade示例)  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  什么是javascript作用域_全局和局部作用域有什么区别?  如何快速辨别茅台真假?关键步骤解析  Python图片处理进阶教程_Pillow滤镜与图像增强  5种Android数据存储方式汇总  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Python3.6正式版新特性预览  如何快速搭建自助建站会员专属系统?  Laravel如何实现多对多模型关联?(Eloquent教程)  如何在建站之星绑定自定义域名?  java获取注册ip实例  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  HTML 中动态设置元素 name 属性的正确语法详解  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何在景安云服务器上绑定域名并配置虚拟主机?  iOS发送验证码倒计时应用  Laravel如何创建自定义Facades?(详细步骤)  Laravel API资源类怎么用_Laravel API Resource数据转换  googleplay官方入口在哪里_Google Play官方商店快速入口指南  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  详解Android——蓝牙技术 带你实现终端间数据传输  Laravel怎么实现模型属性的自动加密  Mybatis 中的insertOrUpdate操作  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何快速搭建高效可靠的建站解决方案?  详解阿里云nginx服务器多站点的配置  北京网站制作公司哪家好一点,北京租房网站有哪些?  利用vue写todolist单页应用  如何正确下载安装西数主机建站助手?  如何在Windows虚拟主机上快速搭建网站?  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解