Laravel 8.6.0:综合升级指南

已发表: 2022-01-02

PHP 框架遵循强大的 MVC(模型-视图-控制器)模式以提高生产力。 它于 2011 年首次发布,从那时起一直在影响市场并稳步增长。 许多人聘请专门的 Laravel 开发人员,因为它具有适用于数字世界的独特特性和功能。

Laravel 的一些值得注意的特性:

Eloquent 对象关系模型

这种模式允许我们将数据库表作为一个类来呈现。 这意味着您可以定义一个将绑定到您的数据库的类。 Eloquent 允许您使用类函数从数据库中选择复杂的查询。

刀片视图

View 部分包含应用程序中使用的所有 HTML 代码,这意味着无需将业务逻辑与表示层结合起来。 视图支持刀片诱人引擎,允许编写可重用的 HTMS 代码和通用布局文件。

控制器

使用控制器,您可以将相关的请求处理逻辑分组到一个类中。

验证

完成认证机制只需要两步:

  • php artisan make: auth
  • php工匠迁移

Laravel 与其他实现身份验证系统的 Web 应用程序不同,它是免费的。

模板引擎

Laravel 具有内置模板,可通过使用动态内容播种来构建布局。 它有多个带有 JavaScript 和 CSS 代码的强大结构的小部件。 Laravel Development Company可以自由地使用独特的部分创建简单和复杂的布局。

安全

Web 应用程序安全性在数字世界中非常重要,每个在线平台都期望其安全。 Laravel 框架对密码使用加盐和散列机制,这意味着它永远不会以纯文本形式保存数据。 PHP Web 开发框架使用准备好的 SQL 语句来防止 SQL 注入攻击,并且还使用 Bcrypt Hashing 算法生成加密密码。

路由

Laravel 提供了一种简单的路由机制,并构建了一个存在于一个文件中的列表,使路由易于访问。 对于支持 API 的更大应用程序,您可以拥有多个文件。 您可以在表单中添加 @csrf 注释以保护它免受 CSRF(跨站点请求伪造)攻击。

发行说明

添加

  • Illuminate\Collections\LazyCollection::rakeUntilTimeout()
  • `migrate:fresh` 命令的 `–schema-path` 选项

固定的

  • 变量中的点
  • 修复了关闭计划任务中的错误处理错误
  • 修复了维护模式下空的 Retry-After 标头
  • `mysqldump: 未知变量 'column-statistics=0' 已修复用于 MariaDB 模式转储
  • ComponentTagCompiler.php 上不再有双重转义

Laravel 8.6.0 有什么新变化?

模型目录

Laravel 8 中 app/Models 文件夹将默认包含在内。 即使你不想要 Models 目录,删除 app/Models 目录,那么 artisan 命令也会直接在 app/ 目录中添加新的模型。

路由缓存改进

一个大的 PHP 数组包含所有路由的集合,这使平台更高效、更快。 以前,如果路由关闭,则路由缓存将不起作用,但随着更新,路由缓存在关闭时可以正常工作。

改进的维护模式

PHP artisan down 命令已有改进。 您可以使用秘密并配置平台维护模式,而不是使用 IP 白名单:

php artisan down –secret=SECRET_CODE

添加一个安全字符串来代替 SECRET_CODE 并以您需要访问的维护模式访问该站点:

您的域名.com/SECRET_CODE

这会生成一个秘密 cookie,允许您正常浏览网站,并提供了一种很好的方式来在维护模式下添加网站,同时通过密码访问它。

另一个补充是您可以预渲染维护页面,即使 Composer 更新运行,最终用户仍然会看到维护页面而不是错误。

运行以下代码:

php artisan down –render =” errors::503”

现在您可以运行命令在呈现的页面中添加秘密并同时更改状态代码:

php artisan down –render=”errors::503” –status=200 –secret=SECRET_CODE

速率限制改进

Laravel 8 中的速率限制更加灵活,并且与之前版本的油门中间件 API 兼容。 这使得处理请求更容易,并限制用户每分钟发送的请求数量。

模式转储

您可以使用 artisan 命令在 database/schema 目录中生成一个 schema 文件:

php 工匠模式:转储

转储您当前的数据库架构并通过以下方式修剪现有的迁移:

php 工匠模式:转储 –prune

它将删除旧的迁移并生成单个模式转储文件。

Laravel 喷射流

它是 Laravel 的免费开源应用程序脚手架。 它具有以下组件:

  • 电子邮件验证
  • 注册和登录功能
  • 两因素身份验证
  • 接口支持
  • 会话管理

作业批处理

最新的更新允许运行一批作业并在执行一批作业后运行操作。

新登陆页面

当您在全新安装中单击主页并具有浅色/深色版本时,将显示该页面。 它还具有指向 Laravel 的 SaaS 产品和社区站点的链接。

控制器命名空间前缀

以前的版本有名为 $namespace 的 RouteServiceProvider.php,它自动用作控制器命名空间的前缀。 此属性已被删除,您可以在路由文件中导入控制器类而不会出现任何问题。

可排队的匿名事件侦听器

之前你必须使用 ShouldQueue trait 创建事件类和事件侦听器,但新特性引入了 Laravel 框架中的第一个命名空间函数:

照亮\事件\排队

您将能够更快地将闭包基础作业发送到模型事件回调队列中。

作业失败的指数退避

向返回整数数组的作业类添加一个新的 backoff() 方法,以决定作业尝试失败时的等待时间。

我们已经讨论了 Laravel 8 中的一些功能和更新。您将需要Laravel 开发服务来处理这些功能并改善用户体验,并通过新添加的功能使开发人员的任务变得容易。 不要错过新的更新,与我们一起聘请专门的 Laravel 开发人员