micropole-idea/symfony3-custom-coding-standard

包括PHPCS 3兼容性的endouble/symfony3-custom-coding-standard的分支

v3.0 2020-09-10 14:41 UTC

This package is auto-updated.

Last update: 2024-09-11 01:11:05 UTC


README

这是https://github.com/djoos/Symfony2-coding-standard的分支。这是Symfony2标准,但为了满足我们CSB项目中的一些需求而进行了调整,例如遵守PSR-12,并且与PHPCS 3兼容

安装

Composer

此标准可以通过Composer依赖管理器进行安装。

  1. 使用Composer安装
	composer require micropole-idea/symfony3-custom-coding-standard --dev
  1. 将编码规范添加到PHP_CodeSniffer的安装路径

该路径相对于php_codesniffer的安装路径。这对于在Vagrant、本地机器和PHPStorm中同时运行非常重要

    bin/phpcs --config-set installed_paths ../../micropole-idea/symfony3-custom-coding-standard
  1. 检查已安装的编码规范中的"Symfony3"

     bin/phpcs -i
    
  2. 完成!

    bin/phpcs --standard=Symfony3Custom /path/to/code
    
  3. (可选) 配置PHPStorm

  • 在语言与框架 -> PHP -> Code Sniffer下配置Code Sniffer
  • 转到编辑器 -> 检查 -> PHP Code sniffer,刷新标准并选择Symfony3Custom

自定义

对原始标准进行了以下调整

在Sniff/WhiteSpace/AssignmentSpacingSniff中

  • declare(strict_types=1);添加了异常,以符合PSR-12

在Sniff/WhiteSpace/FunctionalClosingBraceSniff中

  • 从Squiz复制并调整为函数末尾不留空行

在Sniff/Commenting/FunctionCommentSniff中

  • 检查在docblock上方是否有1个空行
  • 不要检查测试和setUp方法(PHPUnit,将留空)的docblock
  • 检查受保护的私有方法的docblock

在Sniff/NamingConventions/ValidClassNameSniff中

  • 删除抽象类名称规则

在ruleset.xml中

  • 禁用了类注释规则
  • 更改了连接符号间距规则,为了可读性,要求在连接点周围有1个空格,而不是像Symfony标准要求的那样不留空格
  • 重新启用了从superfluousWhitespace(在PSR-2中已禁用)的空行检查