分享一个Laravel编码格式化工具:Laravel Pint

发布时间 - 2022-10-26 00:00:00    点击率:

本篇文章带大家了解一下官方新项目 laravel pint,一个基于 php-cs-fixer 专为 laravel 优化的编码格式化工具,希望对大家有所帮助!

期待已久的炒作终于结束了,Laravel 最新的开源 CLI 应用程序已经发布到世界各地,我们已经着手介绍它——Laravel Pint。

“Laravel pint 是一个零依赖的、构建在 PHP-CS-Fixer 之上的 PHP 代码风格修复器,适用于极简主义者。”,以上是 readme 原文。

一读到这里,我就兴奋起来,我的意思是非常兴奋。在现代 PHP 中,我们一直在磨练我们的工艺,使我们的代码更严格和更好地测试,并确保我们拥有一致的代码风格。 这一切都始于 PHP-FIG 成立时,他们开始发布 PSRs,并且随着具有自己特定发布样式规则的框架不断发展壮大。这个包没有什么不同,它将根据预设自动测试和修复你的代码风格。

想要用这个包,请用 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 标识请求详细输出:

我们得到了很好的输出,就像使用 GitHub 时一样,可以做出改变。 所以我们可以看到代码风格问题,如果我们修复了它会发生什么变化 - 所有这些都来自使用一个非常简单的命令。

我对你不了解,但这是我所有即将进行的项目、包以及我从事的任何其他工作的必备软件。

原文地址:https://laravel-news.com/laravel-pint译文地址:https://learnku.com/laravel/t/69321

【相关推荐:laravel视频教程】


# php  # laravel  # 让我们  # 创建一个  # 我们可以  # 很简单  # 你应该  # 它会  # 应用程序  # 但这次  # 是一个  # 芜湖 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解Android中Activity的四大启动模式实验简述  北京网站制作公司哪家好一点,北京租房网站有哪些?  历史网站制作软件,华为如何找回被删除的网站?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  如何在VPS电脑上快速搭建网站?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  高防服务器如何保障网站安全无虞?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  微信小程序 scroll-view组件实现列表页实例代码  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何实现多对多模型关联?(Eloquent教程)  Python结构化数据采集_字段抽取解析【教程】  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel如何实现API版本控制_Laravel版本化API设计方案  Laravel如何实现模型的全局作用域?(Global Scope示例)  网站制作企业,网站的banner和导航栏是指什么?  javascript基于原型链的继承及call和apply函数用法分析  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  黑客入侵网站服务器的常见手法有哪些?  高端建站三要素:定制模板、企业官网与响应式设计优化  怎么用AI帮你为初创公司进行市场定位分析?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  教你用AI润色文章,让你的文字表达更专业  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  详解jQuery中基本的动画方法  香港服务器如何优化才能显著提升网站加载速度?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何在云主机快速搭建网站站点?  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  如何在云主机上快速搭建网站?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何为不同团队 ID 动态生成多个非值班状态按钮  如何在云服务器上快速搭建个人网站?  如何快速搭建自助建站会员专属系统?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何快速生成可下载的建站源码工具?  Laravel如何实现文件上传和存储?(本地与S3配置)  如何快速搭建高效WAP手机网站?