学习Laravel Pint的基础知识

318 阅读4分钟

期待已久的炒作列车终于结束了,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_statementbracesnew_with_braces 这样的规则。如果我们想对这些规则进行一些定制呢?好吧,我们可以非常容易地打开和关闭规则,让我们在pint.json文件中关闭大括号。

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

就是这样!就是这么简单,你可以自定义你想设置的代码风格,不再有混乱的PHP和数组来配置你的编码风格。所以,让我们再次运行pint,但这次我们要做一个干运行,看看会有什么变化。

./vendor/bin/pint —test

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

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