期待已久的炒作列车终于结束了,Laravels最新的开源CLI应用程序已经向世界发布了,我们得到了它,告诉你所有关于它的信息。介绍一下Laravel Pint...
从readme中 "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_statement 和braces 和new_with_braces 这样的规则。如果我们想对这些规则进行一些定制呢?好吧,我们可以非常容易地打开和关闭规则,让我们在pint.json文件中关闭大括号。
{
"preset": "psr12",
"rules": {
"braces": false
}
}
就是这样!就是这么简单,你可以自定义你想设置的代码风格,不再有混乱的PHP和数组来配置你的编码风格。所以,让我们再次运行pint,但这次我们要做一个干运行,看看会有什么变化。
./vendor/bin/pint —test

很棒吧?干净的输出,做一个干运行,看看什么会失败,以及为什么会失败!那么,如果我们想得到更多的信息会怎样呢?我现在已经修复了上面的文件,并回到了用户迁移中--撤消了这些修改,这样我们就可以测试一下了。让我们再做一次模拟运行,但这次我们想用-v 标志来请求verbose输出。

我们得到了一个很好的输出,就像使用GitHub时那样,会有一些变化。因此,我们可以看到代码风格的问题,它是由什么引起的,如果我们修复它,会发生什么变化--所有这些都来自于一个相当简单的命令。