Laravel 5.1 发布

发布时间 作者:

Laravel 5.1 is released image

Laravel 刚刚宣布立即发布 v5.1。这是 Laravel 历史上第一个提供长期支持的版本。让我们来看看一些新功能,并直接从 Taylor Otwell 了解更多信息。

长期支持

自 2011 年最初发布以来,Laravel 一直遵循开源应用程序中流行的“早发布,常发布”理念。随着该框架 受欢迎程度的空前提升,是时候开始关注大型组织和关键任务应用程序的需求了,这些应用程序需要安全修复,但无法快速升级。Laravel 5.1 现在将提供 3 年的安全修复。

长期支持可以说是 5.1 中最大的功能,但它还包括几个其他新功能。

新的文档

文档已完全重新设计,以提供更高的清晰度,更深入的解释,以及更流畅的流程。这是一项巨大的工作,无数个小时都花在了对每个页面的微调上。

当被问及是否值得花这么多时间时,Taylor 表示他宁愿推迟整个 Laravel 版本,也不愿发布文档质量差的版本。另一个新的文档功能是实时搜索,带有自动完成。

PSR-2

应用程序和生成器已转换为 PSR-2。与当前 Laravel 样式相比,最大的变化是将制表符更改为空格,并且控制结构现在将在同一行上。

从 Blade 模板中解析服务

您现在可以直接从 Blade 模板中解析服务

@extends('layouts.app')
@inject('stats', 'StatisticsService')
<div>{{ $stats->getCustomerCount() }}</div>

广播事件

Laravel 已经包含了一个强大的事件系统,而这个新功能基于此,允许您通过 Websocket 广播事件,以便您的客户端可以接收它们。有了这个新功能,创建实时应用程序变得简单了。

更好的应用程序单元测试

通过包含 Laracast 的集成测试包,测试您的应用程序将比以往任何时候都更容易。

public function testNewUserRegistration()
{
$this->visit('/register')
->type('Taylor', 'name')
->check('terms')
->press('Register')
->seePageIs('/dashboard');
}

要深入了解这些功能,以及更多,请查看 Laracasts 视频系列Matt Stauffer 编写的教程。

***

与 Taylor Otwell 的问答

我有机会与 Taylor Otwell 坐下来,向他询问有关此版本的信息以及它对我们 Laravel 开发人员意味着什么。

5.1 中最大的变化之一是它将成为 Laravel 的第一个 LTS 版本。你能告诉我们它将如何运作吗?

这是 Laravel 的第一个 LTS(长期支持)版本。这意味着 Laravel 5.1 将收到 2 年的错误修复和 3 年的安全修复。LTS 版本将每 2 年发布一次,这意味着下一个 LTS 版本将在 2017 年 5 月发布。支持长期支持的 Laravel 版本为开发工作室或需要确保在未来几年内持续提供错误修复的客户提供了更大的安心感。

您在重写整个文档方面花费了大量时间。您认为这将有助于推动 Laravel 的采用吗?

良好的文档是任何开源项目最关键的方面之一。然而,它却经常被忽视或推迟到发布之后。如果我能给项目维护者一个建议,那就是永远不要发布任何没有良好文档的东西。我宁愿推迟整个 Laravel 版本,也不愿发布文档质量差的版本。我认为改进的文档将推动更多人采用 Laravel。当然,我总有备用的方案,我很快就会在这一领域宣布更多消息。不断让 Laravel 学习起来变得令人愉快是我最大的热情之一。

在所有新功能中,您最自豪的是哪一个?您认为哪一个是最重要的?

说实话,我认为文档是 Laravel 5.1 中我最自豪的“功能”。它变得好太多了。就技术功能而言,我喜欢事件广播。它在实现上不需要太多代码,但使用起来非常方便,并且简化了构建实时应用程序的入门过程。中间件参数是 Laravel 5.1 的另一个很棒的补充,它实际上是由社区成员实现的。同样,它是一个在实现上不需要太多代码的功能,但会让很多用户感到非常高兴。

Laravel 5.1 还引入了 PSR-2。很多人抱怨这本应该早点做。您对此有何感想?

在一个贡献活动非常多的项目中引入新的编码风格非常困难。在我开始全职为 Laravel 工作之前,经常会有数百个开放的 pull 请求。在那时将整个项目转换为 PSR-2 将意味着重新构建每个开放的 pull 请求。现在我全职为该项目工作,整个 Laravel GitHub 组织可能只有 20-30 个开放的 pull 请求,这更容易管理。因此,这是一个采用 PSR-2 的绝佳机会,我已经喜欢上能够运行简单的 Sublime Text 构建命令来格式化所有代码了。

您是否仍然忠于您最初创建 Laravel 时最初的目标?

在所有 Laravel 版本中,我认为 Laravel 5.1 是我最喜欢的版本。它简化并改进了 Laravel 5.0 中引入的大部分内容。首先,我认为它通过将“Commands”重命名为“Jobs”,使文件夹结构更“人性化”,并且从复杂的“Handlers”目录结构转移到用于事件监听器的简单、单一的“Listeners”目录。事件广播是经典的 Laravel 功能。要通过 Pusher 或 Redis 广播您的事件,只需在您的事件类中添加一个“ShouldBroadcast”接口。就这样。我喜欢简单而优雅的小功能。中间件参数改进了 5.0 中引入的原始中间件,并使其与 Laravel 4.x 路由“过滤器”一样强大。

我相信 Laravel 产品的范围占用了您的大量时间,但现在 5.1 已经发布了,您今年剩下的时间有什么计划?

我的当务之急是改进一些 Forge 功能。我希望内置 AWS 支持,并改进环境变量管理,使其更像 Envoyer 的。我还在做一些事情,使 Laravel 变得更容易学习。

***

下一步

前往新的 官方文档,其中包含有关安装、升级和所有框架功能所需的一切信息。

当然,订阅我们的每周 Laravel 新闻通讯,及时了解有关该框架的所有新提示、教程和新闻。

Eric L. Barnes photo

Eric 是 Laravel 新闻的创建者,自 2012 年以来一直关注 Laravel。

Cube

Laravel 新闻稿

加入 40,000 多名其他开发者,绝不错过新技巧、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发者必备的代码运行器。 使用 AI、自动完成功能和本地和生产环境的即时反馈来调试代码。

Tinkerwell
No Compromises logo

No Compromises

Joel 和 Aaron,来自 No Compromises 播客的两位经验丰富的开发者,现可为您的 Laravel 项目提供服务。 ⬧ 固定价格 7500 美元/月。 ⬧ 无需冗长的销售流程。 ⬧ 无需合同。 ⬧ 100% 返款保证。

No Compromises
Kirschbaum logo

Kirschbaum

提供创新和稳定性,确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版本的 Laravel? 立即进行自动化的 Laravel 升级和代码现代化,以保持应用程序的新鲜度。

Shift
Bacancy logo

Bacancy

只需每月 2500 美元,即可为您的项目配备经验丰富的 Laravel 开发者(4-6 年经验)。 获取 160 小时的专业知识和 15 天的免费试用。 立即安排通话!

Bacancy
Lucky Media logo

Lucky Media

现在就试试 Lucky - Laravel 开发的理想选择,拥有超过 10 年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

适用于 Laravel 的电子商务。 一个开源包,将现代无头电子商务功能的力量带到 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动套件

SaaSykit 是一个 Laravel SaaS 启动套件,包含运行现代 SaaS 所需的所有功能。 支付、精美结账、管理面板、用户仪表板、身份验证、预备组件、统计、博客、文档等。

SaaSykit: Laravel SaaS 启动套件
Rector logo

Rector

您无缝升级 Laravel 的合作伙伴,降低成本,加快创新,帮助公司取得成功

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发者能够轻松高效地构建应用程序。 支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。 了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的无依赖性输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel 提示构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包将评论添加到您的 Laravel 应用程序

阅读文章