Code前端首页关于Code前端联系我们

thinkphp 和 laravel 一样吗?答案:完全不同

terry 2年前 (2023-09-25) 阅读数 56 #后端开发

thinkphp和laravel一样吗?答案是:完全不一样

文章的运行环境:Windows 10系统、ThinkPHP5&&Laravel8版本、Dell G3电脑。

thinkphp 与 laravel 相同

Thinkphp 与 laravel 不同

ThinkPHP 是一个免费开源、快速、简单、面向对象、轻量级的 PHP 开发框架。 ThinkPHP支持Windows/Unix/Linux等。操作系统。对于服务器环境,正式版本需要 PHP 5.0 或更高版本,支持 MySql、PgSQL、Sqlite 数据库和 PDO 扩展。 ThinkPHP框架本身没有特殊的模块要求。具体应用系统的运行环境要求取决于开发所涉及的模块。

Laravel 是由 Taylor Otwell 创建的免费开源 PHP Web 框架。它旨在实现 Web 软件的 MVC 架构,并作为 CodeIgniter 的替代品。其源代码位于 GitHub 上,许可条款为 MIT License。 Laravel 的特点是支持用户身份验证和权限、具有自己的包库的模块化包系统、连接到各种关系数据库的方式、提供用于部署和维护应用程序的工具以及开发大量语法糖。

主要区别:(thinkPHP更适合中国人编码习惯):

1.模板显示方式的区别:

在 Laravel 框架中,使用 return view() 来显示模板;

在ThinkPHP中,我们使用$this->display()方法来显示模板;

2。在 Laravel 框架中,因为考虑到跨站请求伪造,如果你的表单在 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 框架内置了一个“哈希”,“哈希加密是一种单向加密方法,使用相同参数加密的字符串永远不会出现在相同的位置,这提高了安全性;

事实上,我们在开发中经常会遇到这样的问题,那就是开发位置不固定,这意味着我们经常需要更改数据库的配置,从而导致开发工作出现问题,TP仍然没有避免这个“灾难” laravelben 框架,.env 环境文件的出现解决了这个问题,我们只需要在不同的工作站中设置好 .env 文件,就不需要再次设置它们,因为无论是 git 还是 svn,“.env” “应该与文件一起发送到服务器。”

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门