如何在Yii2项目中安装Yii2代码标准?

时间:2019-02-01 10:57:25

标签: yii2 yii2-advanced-app

  

$ ./vendor/bin/phpcs backend / controllers / AdvertisementController.php   --colors

ERROR: the "Yii" coding standard is not installed. The installed coding standards are MySource, PEAR, PSR1, PSR12, PSR2, Squiz and Zend

 "require-dev": {
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-coding-standards": "2.*"
    }
  

接下来,在项目根目录上创建一个phpcs.xml.dist文件,请参见   PHP_CodeSniffer文档:使用默认配置文件

<?xml version="1.0"?>
<ruleset name="Yii2 App Basic Standard">
    <description>Yii2 App Basic coding standard</description>

    <exclude-pattern>/runtime/*</exclude-pattern>
    <exclude-pattern>/web/assets/*</exclude-pattern>
    <exclude-pattern>/vendor/*</exclude-pattern>
    <exclude-pattern>/requirements.php</exclude-pattern>

    <rule ref="vendor/yiisoft/yii2-coding-standards/Yii2"/>

    <rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace">
        <exclude-pattern>/migrations/*</exclude-pattern>
    </rule>
    <rule ref="Squiz.Classes.ValidClassName.NotCamelCaps">
        <exclude-pattern>/migrations/*</exclude-pattern>
    </rule>
</ruleset>



$ ./vendor/bin/phpcs backend/controllers/AdvertisementController.php --colors
  

错误:未安装“ Yii”编码标准。已安装   编码标准是MySource,PEAR,PSR1,PSR12,PSR2,Squiz和Zend

 "require-dev": {
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-coding-standards": "2.*"
    }

接下来,在项目根目录上创建一个phpcs.xml.dist文件,请参见PHP_CodeSniffer文档:使用默认配置文件

<?xml version="1.0"?>
<ruleset name="Yii2 App Basic Standard">
    <description>Yii2 App Basic coding standard</description>

    <exclude-pattern>/runtime/*</exclude-pattern>
    <exclude-pattern>/web/assets/*</exclude-pattern>
    <exclude-pattern>/vendor/*</exclude-pattern>
    <exclude-pattern>/requirements.php</exclude-pattern>

    <rule ref="vendor/yiisoft/yii2-coding-standards/Yii2"/>

    <rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace">
        <exclude-pattern>/migrations/*</exclude-pattern>
    </rule>
    <rule ref="Squiz.Classes.ValidClassName.NotCamelCaps">
        <exclude-pattern>/migrations/*</exclude-pattern>
    </rule>
</ruleset>
  

最后,使用命令:

php composer.phar install --dev
vendor/bin/phpcs --encoding=utf-8 --extensions=php .
  

这引发了我错误vendor / bin / phpcs --encoding = utf-8   --extensions = php。

 coding standard is not installed. The installed coding standards are
 MySource, PEAR, PSR1, PSR12, PSR2, Squiz and Zend

我如何安装Yii2作为编码标准

1 个答案:

答案 0 :(得分:1)

首先,您要尝试安装扩展程序时,应了解为什么的用途以及何时的用途。

Yii 2 Core Framework Code Style

  

以下代码样式用于Yii 2.x核心和官方版本   扩展程序开发。如果您想将请求代码拖入   核心,请考虑使用它。

     

我们不会强迫您在应用程序中使用此代码样式。   随意选择更适合您的选项。

何时使用

仅当您正在开发Yii2时无法使用 WITH 。Yii2表示仅当您打算为框架的核心功能做出贡献时才使用此扩展名

何时忽略

如果您正在使用使用 Yii2框架的项目,则无需安装此扩展,因为如果已安装PHPCS,则可以直接在这种情况下使用所有标准在PHPCS中已经使用的并没有太大的不同,

您不需要此扩展,保留它,PHPCS可以直接完成工作。