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

laravel 和 thinkphp 的区别和优缺点比较

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

Laravel 框架:

Laravel 是当今最强大、最流行、使用最广泛的开源框架之一。它始终遵循优雅的原则,完美支持**composer**,实现了更丰富的扩展,并拥有活跃的社区文档。与TP相比,Lavavel更大、更安全。比较适合开发大中型项目,被称为“巨匠式开发框架”。


问题描述:

1。渲染模板方法的区别

在 Laravel 框架中,使用 return view() 来渲染模板;而在ThinkPHP中,$this->display()方法用于渲染模板。 。

2。在实际开发中,我们经常会遇到开发场地不固定的问题。

这意味着我们经常更改数据库配置,这给开发工作带来了问题。 TP仍然没有避免这场“灾难”。在laravel框架中,.env环境文件的出现解决了这个问题。我们只需要在不同的工作场所配置.env文件,不要避免再次配置,因为无论是git还是svn,“.env不会随着文件一起发送到服务器”。

3。 Laravel框架提供了大量的闭包

作为初学者,我目前只使用using方法,也就是如何在函数内部使用外部变量。 ? csrf_field()}}会报TokenMethodnotfound语法错误,TP框架必须手动补全代码,防止跨站攻击。

5。条件求值语句编写方式的差异

另外,Laravel框架中的求值语句和谓词在编写时必须以@if开头,以@endif结尾。如果不是,会报语法错误,@foreach @endforeach同理;而TP框架的使用方式和PHP语法规则一样,直接使用if esle语句进行求值和foreach遍历。

6。 Laravel 内置了大量的方法供开发者使用

在实际应用中更接近“让对象完成一切”的开发思想。例如,在执行后台表单验证时,Laravel 有大量内置验证。方法。例如,要验证用户名:我们可以在验证方法中使用'username'=>'required'(不能为空)| alpha_dash(必须有数字、字母和下划线)|之间:6、18(位数之间);并且内置了电子邮件等大量方法;相同:字段名; diff:字段名等,大大提高了开发速度。

7。加密方式

在TP框架中我们使用md5();方法对用户名和密码进行加密。但md5的缺点是可以被反向破解,而且在相同的规则下,同一个密码经过md5加密后的字符串看起来可能是一样的,降低了安全性。不过,“Hash”哈希加密是 Laravel 框架内置的单向加密方式,使用相同参数加密的字符串永远不会出现相同的情况,从而提高了安全性。

8。表创建

Laravel 有自己独立的内置结构来创建数据库表。它可以创建数据库、添加、删除、修改、搜索和与数据交互,而无需借助原生 SQL 语句或 SQLyogEnt 和 Navicat 等建表工具。 。我认为这可能是它牢牢占据第一位置的一个亮点。在ThinkPHP中,我们需要使用SQL语句或者建表工具来逐步完善数据。

8.1,首先我们需要构建一个模型:我使用gitbash。 Gitbash是Windows下的一个命令行工具。基于msys GNU环境,有git分布式版本控制工具,主要用在git中。但也可以直接在 Laravel 中使用: php artisan make:model Models/GoodsModel -m 完成模型的创建以及表结构(/database/migrations)的创建。

8.2。在项目数据表中填写数据时,请注意数据类型严格不同,必须添加。添加完成后,使用命令php artisan migrate完成表创建。

  Schema::create(‘goods', function (Blueprint $table) {  $table->increments(‘id')->comment(‘商品主键');    $table->string(‘title')->comment(‘商品的标题');

8.3。某个字段不符合要求或者需要添加字段怎么办?不用担心,从github拉取项目,直接在数据表中修改即可。你只需要使用:

  php artisan migrate:refresh

9、ORM

创建模型的命令在创建表的介绍中已经使用过:

  php artisan make:model XXX;

Laravel中的模型是面向对象开发思想的最好诠释,让对象帮助我们完成我们的需求。

摘自5.1手册:(Laravel的Eloquent ORM提供了一个漂亮简洁的ActiveRecord实现来与数据库交互。每个数据库表都有一个对应的“模型”,可以用来与数据表交互。你可以使用 model查找数据表中的数据,并向数据表中添加记录。)

在实际使用中,我也切实感受到了为数据表操作创建模型的便利性,比如:批量赋值、交叉表查询、删除模型等软删除、模型关联,当然这些也可以使用TP框架中的模型来实现。这一点是个人喜好的问题。 ? start() 启动会话。

使用Session类操作和通常方式调用$_SESSION没有太大区别。只不过Session类中的很多参数可以根据项目配置灵活设置。最常用的操作方法示例:

//检测Session变量是否存在; // 获取session变量:Session::get('name');

10.2,Laravel中session常用方法:) ('key'); //获取会话中的一个键名

$request->session()->set('key','default');//设置一个默认值,当指定的键名不存在时,返回默认值

$request->session()->all();//返回所有数据

session('k'=>$ v) ;//写入session保存数据

和闪存数据session()->flash()并保留特定数据->keep([”,”]);♷还可以自定义Session驱动程序。


laravel 和 thinkphp:

laravel 和 thinkphp 哪个框架更好?

thinkphp采用MVC思想开发。活动范围主要是国内,完全免费开源。学习资料非常丰富,适合初学者。是学习PHP框架的最佳选择,主要是文档是中文的。从5.0版本开始,它被称为专为API开发而设计的高性能框架。配置开发也非常容易。一般情况下可以直接下载框架进行开发。开发代码风格也符合中国人的思维,所以简单、快速、适合初学者的PHP框架。

Laravel框架,一个为WEB艺术家打造的PHP框架,也是目前最先进的API开发PHP框架。我们都知道PHP主要是为了网站开发。 Laravel 框架开发优雅且简单的代码。此外,Laravel 是一个为人类设计的框架。开发心态更适合中级程序员,因此经验丰富的 PHP 程序员更喜欢 Laravel 框架。为什么不推荐给初学者呢?主要原因是Laravel框架是国际框架,很多文档都是英文的。虽然也有中文文档,但信息有限,很多有用的信息不是免费的。可以说Laravel框架是半开源的。如果没有人帮助初学者,学习所需的精力可能会受到限制。

版权声明

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

发表评论:

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

热门