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

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

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

期待已久的炒作终于结束了,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

你应该看到类似于以下的输出:

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

比格设计 比格设计

比格设计是135编辑器旗下一款一站式、多场景、智能化的在线图片编辑器

比格设计 124 查看详情 比格设计

芜湖,起飞 ?

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

{    "preset": "psr12"}

重新运行 pint,让我们看看输出:

./vendor/bin/pint

你应该看到以下输出:

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

让我们检查一下,发现它实施了single_trait_insert_per_statementbracesnew_with_braces等规则。如果我们想稍微定制这些怎么办? 很简单,因为我们可以轻易地定义和删除规则,让我们在 pint.json 文件中关闭大括号:

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

这就对了!自定义设置代码样式的方式很简单。不再需要凌乱的 PHP 和数组来配置你的编码风格。所以让我们重新运行 pint,但这次我们想进行一次试运行,看看会发生什么变化:

./vendor/bin/pint —test

Laravel

厉害吧?漂亮干净的输出,进行试运行,看看什么会失败以及为什么!那么如果想要更多的信息会发生什么呢?我已经修复了上面的文件并返回到用户迁移以及撤消了这些更改,以便我们可以对其进行测试。让我们再次试运行,但这次想使用 -v 标识请求详细输出:

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

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

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

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

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

以上就是分享一个Laravel编码格式化工具:Laravel Pint的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/340626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月5日 18:04:02
下一篇 2025年11月5日 18:08:05

相关推荐

  • 解决Fetch与PHP数据传输:表单数据发送与接收的正确实践

    本文详细介绍了如何使用javascript fetch api向php后端发送表单数据,并确保php正确接收和处理这些数据。核心在于正确配置客户端的`content-type`头为`application/x-www-form-urlencoded`,并使用`urlsearchparams`构造请求…

    2025年12月21日
    000
  • FullCalendar多实例同步:实现事件更新后自动刷新列表视图

    本文详细介绍了在使用fullcalendar.io v6时,如何解决两个日历实例之间的数据同步问题。当主日历(calendar)中的事件通过ajax更新后,如何自动触发辅助列表日历(calendar_list)的refetchevents()方法以刷新其显示。核心解决方案在于将目标日历实例声明为全局…

    2025年12月21日
    000
  • FullCalendar多日历同步更新与事件刷新策略

    本文详细阐述了在使用fullcalendar.io v6时,如何实现页面上多个日历实例间的同步更新。针对主日历事件修改后,辅助日历(如列表视图)无法自动刷新的问题,核心解决方案在于将辅助日历的实例变量提升至全局作用域,并在主日历的ajax事件更新成功回调中,显式调用辅助日历的`refetcheven…

    2025年12月21日
    000
  • FullCalendar多实例同步:主日历更新后如何触发辅助日历事件重载

    本教程旨在解决FullCalendar多实例同步问题。当页面存在多个FullCalendar实例时,如何确保一个主日历(如可编辑日历)的数据更新能实时反映在另一个辅助日历(如列表视图)上。核心解决方案是,将辅助日历实例声明为全局变量,并在主日历的AJAX数据操作成功回调中,调用辅助日历的`refet…

    2025年12月21日
    000
  • 使用JavaScript实现一个简单的自动完成组件_javascript UI组件

    自动完成组件通过监听输入事件过滤数据并显示匹配建议。首先创建输入框和隐藏的下拉列表,使用CSS定位与样式控制外观;JavaScript定义数据源,实时匹配用户输入并动态渲染建议项,支持点击选中和外部点击关闭。可扩展异步加载、键盘导航、高亮匹配及防抖优化。 自动完成组件(Autocomplete)是一…

    2025年12月21日
    000
  • 如何在JavaScript中高效地根据数组更新对象键名

    本教程将指导您如何在javascript中根据一个提供的键名数组来重新映射现有对象的键名,同时保留其原始值。我们将探讨使用`object.values()`、`map()`和`object.fromentries()`等核心javascript方法,以创建一个新的对象,其键名已按指定顺序更新,确保数…

    2025年12月21日
    000
  • js中jquery框架怎么写

    jQuery 是一个简化 HTML 操作、事件处理与 Ajax 的 JavaScript 库。1. 通过 CDN 引入库文件;2. 使用 $(selector).action() 语法选择元素并操作;3. 常见用法包括文档就绪函数、元素选择、事件绑定、动画与 Ajax 请求;4. 注意 DOM 加载…

    2025年12月21日
    000
  • js调用generator的方法

    Generator函数通过function*定义,调用后返回迭代器,使用next()方法可逐段执行,每次遇到yield暂停并返回值,再次调用继续执行,支持传参、提前结束和错误注入,适用于惰性求值与异步控制。 JavaScript 中的 Generator 函数是一种特殊函数,可以暂停和恢复执行。调用…

    2025年12月21日
    000
  • jQuery文件输入框非空验证与多表单处理指南

    本教程详细阐述了如何使用jquery有效验证文件输入框是否为空,特别是在页面包含多个表单时。文章将深入探讨正确的验证逻辑,即通过检查文件输入框的`value`属性而非其dom元素长度,并强调了符合html规范的表单结构对于此类验证的重要性,同时提供了完整的代码示例和最佳实践。 在Web开发中,对用户…

    2025年12月21日
    000
  • jQuery 文件上传输入框非空验证教程

    本教程详细介绍了如何使用 jquery 对文件上传输入框进行非空验证。文章将阐明通过检查 `input[type=”file”]` 元素的 `value` 属性来判断文件是否已选择的正确方法,并提供针对页面上多个表单的验证策略,同时强调了正确的 html 表单结构对于确保验证…

    2025年12月21日
    000
  • 怎样通过js脚本制作简易问卷调查_js问卷功能脚本编写与实现

    答案:使用HTML构建表单结构,通过JavaScript的FormData获取数据并阻止默认提交,实现问卷逻辑与交互。 用 JavaScript 制作一个简易问卷调查并不复杂,核心是通过 HTML 搭建结构,用 JS 控制逻辑和交互。下面是一个完整的实现思路与代码示例,适合初学者快速上手。 1. 基…

    2025年12月21日
    000
  • js中使用indexOf() 方法判断字符串包含某个字符

    使用 indexOf() 方法可判断字符串是否包含某字符,返回索引值或-1;通过检查返回值不等于-1即可确认包含关系,该方法区分大小写且仅返回首次匹配位置,适合基础场景。 在 JavaScript 中,可以使用 indexOf() 方法来判断一个字符串是否包含某个字符或子字符串。这个方法会返回指定内…

    2025年12月21日
    000
  • jQuery文件输入框非空验证:多表单场景下的实践指南

    本教程详细阐述了如何在多表单环境下使用jquery对文件输入框进行非空验证。核心在于正确使用`fileinput.val() === ”`来判断文件是否已选择,而非检查元素长度。同时,强调了html表单结构的规范性,特别是当页面包含多个表单时,以确保验证逻辑能够准确作用于当前提交的表单。…

    2025年12月21日
    000
  • jQuery文件输入框空值验证:多表单场景下的最佳实践与HTML结构优化

    本教程详细阐述了如何使用jquery准确验证文件输入框是否为空,尤其是在处理页面上多个表单时。文章纠正了常见的验证误区,提供了正确的javascript逻辑,并强调了符合html规范的表单结构设计,特别是当表单元素分散在表格中时,以确保验证功能稳定可靠。 引言:文件上传与前端验证的重要性 在Web开…

    2025年12月21日
    000
  • jQuery多表单场景下文件输入字段的非空验证指南

    本文详细阐述了在jquery中如何对文件输入字段进行有效的非空验证,尤其是在页面存在多个表单时。核心内容包括使用`.val() === ”`判断文件是否已选择,以及优化html表单结构以确保验证逻辑的正确性和表单提交的独立性。通过具体代码示例,帮助开发者构建健壮的客户端文件上传验证。 在…

    2025年12月21日
    000
  • 利用Generator函数实现异步流程控制

    Generator函数结合Promise可实现同步化异步控制,通过yield暂停执行,自定义执行器自动处理Promise并传值,使异步流程线性化、易调试,但需手动实现执行器,语法不如async/await简洁,后者为其语法糖。 在JavaScript中,异步流程控制一直是开发中的核心问题。传统的回调…

    2025年12月21日
    000
  • 使用Shadow DOM实现样式封装

    Shadow DOM是Web Components标准的一部分,通过创建独立的DOM树实现样式和结构的隔离。使用Element.attachShadow()方法可将Shadow DOM附加到元素上,并通过mode属性控制访问权限。示例中定义了MyComponent类,在constructor中创建S…

    2025年12月21日 好文分享
    000
  • 在WooCommerce感谢页嵌入订单详情并传递给JavaScript

    本教程旨在详细指导如何在woocommerce的“感谢页”中安全有效地获取订单详情,并将其动态嵌入到javascript代码中,以便将数据发送至第三方营销或分析系统。文章将重点介绍使用wordpress动作钩子`wp_footer`的正确方法,并提供处理单个或多个订单商品的代码示例,确保数据准确无误…

    2025年12月21日
    000
  • WordPress中JavaScript在动态内容加载后不执行的解决方案

    本文旨在解决wordpress网站中javascript代码不执行的问题,特别是当页面包含动态加载内容(如使用页面构建器或表单插件)时。核心问题在于javascript的加载时机与dom元素的存在时间不匹配。文章将详细解释`jquery(document).ready()`与`jquery(wind…

    2025年12月21日
    000
  • 在WooCommerce感谢页嵌入JavaScript并获取订单详情的专业指南

    本教程旨在指导用户如何在woocommerce感谢页面中,利用wordpress的动作钩子(如`wp_footer`),安全有效地获取订单详情,并将其动态注入到javascript跟踪脚本中。通过php代码获取订单id、总金额、商品id和名称等信息,并将其格式化后传递给外部营销或分析系统,确保数据传…

    2025年12月21日
    000

发表回复

登录后才能评论
关注微信