Laravel Pint

发布日期:作者:

Laravel Pint image

期待已久的炒作终于结束,Laravel 最新的开源 CLI 应用已发布,我们已经上手体验,并为您带来相关介绍。介绍 Laravel Pint...

从自述文件中可以看出,“Laravel Pint 是一款零依赖的 PHP 代码风格修复器,专为极简主义者设计 - 基于 PHP-CS-Fixer 构建。”

当我读到这句话时,我感到很兴奋,而且是非常兴奋。在现代 PHP 中,我们一直在努力完善我们的技术,使我们的代码更加严格、测试更加完善,并确保我们拥有统一的代码风格。这一切都始于 PHP-FIG 的成立,他们开始发布 PSR,并且随着框架发布了自己的特定风格规则,这一趋势越来越强劲。这个包也不例外,它将根据预设自动测试和修复您的代码风格。

要开始使用这个包,请使用 Composer 安装它

composer require laravel/pint --dev

安装完成后,它将立即运行,无需任何配置。所以你可以运行

./vendor/bin/pint

无需任何配置、设置或思考或努力 - 我的项目会立即针对 PSR-12 风格进行评估并自动修复。太神奇了。保持代码整洁和一致有时需要付出努力或思考如何进行设置 - 需要实现哪些规则。或者使用 PHP CS Fixer,您需要创建一个配置文件,然后创建一个查找器来将规则添加到 PHP 文件中的数组中。事情很快就会变得很混乱,对吧?

不再需要。如果您在项目的根目录中创建一个 pint.json 文件,它将简单地加载该文件并读取配置 - 否则,请坚持使用默认值。配置全部使用 JSON 完成,使其更易于使用且更易读。

让我们快速了解一下如何使用预设设置新的 pint 配置。但让我们看看如何使用全新的 Laravel 项目来做,所以创建一个新项目

laravel new pint-demo

在您的终端中打开这个新项目并安装 pint

composer require laravel/pint --dev

使用我们全新的 Laravel 应用程序,让我们为 Laravel 配置一个预设。创建一个 pint.json 文件并添加

{
"preset": "laravel"
}

现在运行 pint

./vendor/bin/pint

您应该会看到类似于以下的输出

我们起飞了 🚀

所以现在让我们将我们的预设更改为 PSR-12 并检查输出

{
"preset": "psr12"
}

重新运行 pint 并让我们看看输出

./vendor/bin/pint

您应该会看到以下输出

让我们仔细检查一下。它实现了像 single_trait_insert_per_statementbracesnew_with_braces 这样的规则。如果我们要稍微自定义一下呢?嗯,我们可以很容易地打开和关闭规则。让我们在 pint.json 文件中关闭 braces

{
"preset": "psr12",
"rules": {
"braces": false
}
}

就是这样!自定义代码风格设置非常简单。不再需要使用混乱的 PHP 和数组来配置您的编码风格。所以让我们重新运行 pint,但这次我们想进行一次干运行,看看会发生哪些改变

./vendor/bin/pint —test

很棒吧?漂亮的输出,进行干运行,查看什么会失败以及原因!那么,如果我们想要更多信息会怎样?我已经修复了上面的文件并返回到用户迁移 - 并撤销了这些更改,以便我们可以测试它。让我们再进行一次干运行,但这次我们想使用 -v 标志请求详细输出

我们得到了非常棒的输出,就像使用 GitHub 时一样,显示了将要进行的更改。所以我们可以看到代码风格问题、它在哪里被捕获以及如果我们修复它会发生什么变化 - 所有这一切都来自一个非常简单的命令。

我不知道您怎么想,但我认为这对于我所有即将到来的项目、包以及我参与的任何其他工作来说都是必须安装的。

Steve McDougall photo

技术作家,任职于 Laravel 新闻,开发倡导者,任职于 Treblle。API 专家,资深 PHP/Laravel 工程师。 YouTube 直播主.

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 美元,即可为您的项目配备一位拥有 4-6 年经验的资深 Laravel 开发人员。获得 160 小时的专业服务,并享受 15 天免费试用。立即安排电话会议!

Bacancy
Lucky Media logo

Lucky Media

现在就来体验幸运 - 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

在您的 Laravel 应用程序中添加 Swagger UI

阅读文章
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 Prompts 构建 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 应用程序添加评论

阅读文章