我是否可以将代码嗅探器标准指定为开发作曲家依赖项



假设我有两个或三个项目,它们都使用不同的PHP CodeSnifer标准(定制)。

我希望能够将它们作为 Composer require-dev依赖项包含在内,以便在启动项目存储库时将它们与 PHPUnit 和我的其他开发要求一起安装。

目前,我在机器的全局phpcs标准文件夹中拥有所有标准,并且我通过项目根目录中的phpcs.xml配置文件告诉每个项目使用哪个标准。

我是否可以指定标准的路径,以便可以通过作曲家安装和使用它?

您可以使用

installed_paths设置为phpcs指定查找标准的其他路径。下面是配置phpcs.xml示例:

<?xml verison="1.0"?>
<ruleset name="MyProject">
  <description>My cool project, using a custom PHPCS standard</description>
  <rule ref="MyCoolStandard" />
  <config name="installed_paths" value="vendor/myvendorhere" />
</ruleset>

然后假设您的自定义 PHPCS 标准具有如下所示的文件结构:

+ 我的酷标准  - 嗅闻    -类      - 我的班级嗅探.php  - 规则集.xml

您可以向其添加基本composer.json文件并为其命名。这里的一个重要部分是,您需要告诉它安装到与标准名称匹配的路径中 - 或者更简单地说,只是将软件包命名为标准(注意:需要匹配标准中的ruleset.xml,包括大小写):

{
    "name": "myvendorhere/MyCoolStandard",
    "description": "My cool PHPCS standard",
    "require": {}
}

现在,您可以将其作为 VCS 存储库包含在项目中:

# Project: composer.json
...
    "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:myvendorhere/myreponame.git"
        }
    ],
    "require-dev": {
        "myvendorhere/MyCoolStandard": "dev-master"
    }
...

博士:

  • 使用installed_paths CodeSniiffer 配置设置将作曲家的供应商路径(直到以标准命名的文件夹)指定为标准路径
  • 在标准的存储库中,以标准命名作曲家包(区分大小写)。它必须与您在ruleset.xml中使用的名称相同,以便phpcs可以找到它,否则您将收到错误消息,指出找不到它。
  • 将您的自定义标准作为 VCS 存储库包含在项目的作曲家配置中(或更好的方法...!

相关内容

  • 没有找到相关文章

最新更新