为什么 Laravel 项目需要 Duster:一个命令统一 4 大代码规范检查工具 📅 发布时间:2026/8/22 13:18:40 👁 浏览次数: 为什么 Laravel 项目需要 Duster一个命令统一 4 大代码规范检查工具【免费下载链接】dusterAutomatic configuration for Laravel apps to apply Tightens standard linting code standards.项目地址: https://gitcode.com/gh_mirrors/du/duster如果你正在维护一个 Laravel 项目是否被各种 PHP 代码风格工具搞得焦头烂额Duster 就是为解决这个问题而生的——它是一个开源的命令行工具用一条命令就能自动应用 Tighten 公司默认的代码风格标准统一跑通 4 大检查工具TLint、PHP_CodeSniffer、PHP CS Fixer、Pint。无论是检查lint还是自动修复fix只需一个duster命令即可完成。 4 大工具如何各司其职Duster 本身并不是又一个全新的检查器而是把 4 个成熟工具拧成一股绳让它们协同工作、互不冲突。每个工具负责不同的检查维度工具职责定位核心能力TLint补位其他工具检查 Laravel 和 PHP 中其他工具覆盖不到的问题Tighten预设PHP_CodeSniffer发现无法自动修复的问题基于Tighten预设近似 PSR-1 Tighten 自定义规则PHP CS Fixer补充 Pint 不支持的规则自定义类成员排序规则CustomOrderedClassElementsFixerPintLaravel 官方代码风格使用默认Laravel预设 少量 Tighten 定制规则这种分工协作的设计正是 Duster 相比单一工具的最大优势——一次命令覆盖所有检查维度。各工具在 Duster 中的接入实现分别位于TLintapp/Support/TLint.phpPHP_CodeSnifferapp/Support/PhpCodeSniffer.phpPHP CS Fixerapp/Support/PhpCsFixer.phpPintapp/Support/Pint.php 一键安装步骤得益于 Composer整个安装过程仅需一条命令无需任何额外配置composer require tightenco/duster --dev安装完成后你就可以在vendor/bin/目录下直接调用duster命令了。整个过程干净利落对新手非常友好。⚡ 最快配置与使用方法检查代码规范lint想一次性检查所有文件只需运行./vendor/bin/duster lint自动修复代码规范fix发现大量可自动修复的问题一条命令全部搞定./vendor/bin/duster fix只检查有改动的文件--dirty日常开发中你可能只关心本次提交的代码是否规范。借助--dirty参数Duster 会只检查 Git 中有未提交改动的文件大幅缩短等待时间./vendor/bin/duster lint --dirty # 或 ./vendor/bin/duster fix --dirty查看全部可用命令./vendor/bin/duster # 或 ./vendor/bin/duster commandsSail 用户专属技巧如果你使用 Laravel Sail 容器环境可以通过./vendor/bin/sail bin duster直接在容器内执行省去本地安装 PHP 的麻烦。️ 用 duster.json 自定义检查范围Duster 默认会扫描 Laravel 项目的所有标准目录。但如果你想精确控制哪些文件参与检查只需在项目根目录创建一个duster.json配置文件{ include: [ bin, scripts, src, tests ], exclude: [ tests/fixtures, **/folderToExclude/** ] }这个配置支持**通配符wildcard**匹配能灵活应对各种复杂的项目结构。配置解析的核心逻辑位于 app/Support/DusterConfig.php。此外Duster 还内置了vendor/、node_modules/、storage/等常见目录的默认排除规则让你开箱即用不必反复排除。你还可以在duster.json的scripts字段中挂载额外的检查脚本比如 PHPStanDuster 会在 lint 或 fix 时自动一并执行{ scripts: { lint: { phpstan: [./vendor/bin/phpstan, analyse] } }, processTimeout: 120 }本仓库自身的 duster.json 就是一个很好的参考示例它展示了如何挂载 PHPStan 和 Pest 测试。想控制具体使用哪些工具、以什么顺序执行使用--using参数即可自定义工具链./vendor/bin/duster lint --usingphpstan,tlint,pint 接入 CI/CD 与 Git Hooks让规范永不被绕过光靠开发者自觉是不够的。Duster 提供了两套自动化守卫方案确保代码规范在团队协作中始终得到执行方案一发布 GitHub Actions 配置./vendor/bin/duster github-actions执行后Duster 会自动生成 lint 和 fix 两种工作流文件让每一次 CI 构建都自动检查代码风格。方案二发布 Husky Hooks./vendor/bin/duster husky-hooks配置后每次git commit都会自动触发 Duster 检查把不规范的代码拦截在提交之前。容器环境提示如果你在容器化环境未本地安装 PHP中使用 Husky Hooks可用--env参数指定环境例如./vendor/bin/duster husky-hooks --envddev。支持ddev、warden、lando和sail四种环境。❓ 常见问题速览问Duster 和单独的 Pint 有什么区别答Pint 只覆盖 Laravel 官方风格而 Duster 在它之上叠加了 TLint、PHP_CodeSniffer、PHP CS Fixer 三个工具覆盖面更广且统一了配置和入口。问如何调整某个工具的规则答各工具仍保留独立的配置文件约定例如 PHP_CodeSniffer 使用.phpcs.xml.dist、PHP CS Fixer 使用.php-cs-fixer.dist.php、Pint 使用 standards/pint.json 作为起点。你可以在此基础上做个性化定制。问Duster 对 PHP 版本有要求吗答需要 PHP 8.2 及以上版本。✨ 写在最后Duster 用一个命令统一 4 大工具的极简设计把 Laravel 项目中原本繁琐、分散的代码规范检查工作彻底自动化了。它既适合个人开发者快速规范新项目也适合团队协作中统一代码风格、减少 Code Review 中的风格之争。如果你的 Laravel 项目还没有一套稳定的代码风格标准不妨现在就composer require tightenco/duster --dev一条命令开启规范之旅。【免费下载链接】dusterAutomatic configuration for Laravel apps to apply Tightens standard linting code standards.项目地址: https://gitcode.com/gh_mirrors/du/duster创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考