如何让composer在安装包之后自动执行代码格式化

答案:通过配置composer.json的post-install-cmd和post-update-cmd事件,可实现安装或更新依赖后自动执行php-cs-fixer进行代码格式化,需确保工具已安装并正确设置脚本路径。

如何让composer在安装包之后自动执行代码格式化

要让 Composer 在安装包之后自动执行代码格式化,可以通过配置 Composer 的脚本事件来实现。Composer 提供了丰富的事件钩子(如 post-install-cmdpost-update-cmd),你可以在这些事件中调用代码格式化工具。

1. 确保已安装代码格式化工具

常用的 PHP 代码格式化工具是 PHP-CS-FixerPHP_CodeSniffer。这里以 PHP-CS-Fixer 为例:

推荐通过 Composer 全局或项目本地安装:
  • composer require --dev friendsofphp/php-cs-fixer

2. 配置 composer.json 的 scripts

在项目的 composer.json 文件中添加脚本,使安装或更新依赖后自动运行格式化命令:

修改 composer.json:
{
  "scripts": {
    "post-install-cmd": [
      "@php-cs-fixer fix"
    ],
    "post-update-cmd": [
      "@php-cs-fixer fix"
    ]
  }
}

如果你将 php-cs-fixer 安装在 vendor/bin,也可以写成:

"scripts": {
  "post-install-cmd": [
    "vendor/bin/php-cs-fixer fix"
  ],
  "post-update-cmd": [
    "vendor/bin/php-cs-fixer fix"
  ]
}

3. (可选)指定格式化范围和规则

你可以在项目根目录创建 .php-cs-fixer.php 配置文件,定义格式化规则:

美图云修 美图云修

商业级AI影像处理工具

美图云修 61 查看详情 美图云修
<?php

return PhpCsFixer\Config::create()
    ->setRules([
        '@PSR12' => true,
        'array_syntax' => ['syntax' => 'short'],
    ])
    ->setFinder(
        PhpCsFixer\Finder::create()->in(__DIR__ . '/src')
    );

4. 验证是否生效

运行以下命令测试:

  • composer install
  • composer update

如果配置正确,命令执行完成后会自动触发代码格式化。

基本上就这些。通过 Composer 脚本机制,可以轻松集成自动化代码风格检查与修复流程,提升团队协作效率。不复杂但容易忽略的是确保路径正确、工具已安装且有执行权限。

以上就是如何让composer在安装包之后自动执行代码格式化的详细内容,更多请关注php中文网其它相关文章!

本文转自网络,如有侵权请联系客服删除。