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 News 的创始人,自 2012 年以来一直在报道 Laravel。

Cube

Laravel 新闻通讯

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

Laravel Forge logo

Laravel Forge

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

Laravel Forge
Tinkerwell logo

Tinkerwell

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

Tinkerwell
No Compromises logo

绝不妥协

Joel 和 Aaron 是来自“绝不妥协”播客的两名经验丰富的开发者,现在可以为您的 Laravel 项目聘用他们。 ⬧ 固定费用 7500 美元/月。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

绝不妥协
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 开发的理想选择,拥有超过十年的经验!

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 应用程序添加评论

阅读文章