mikulas / code-sniffs
Clevis编码标准的代码嗅探规则
Requires
- squizlabs/php_codesniffer: ~1.5.3
Requires (Dev)
- nette/tester: ~1.2
README
注释
ForceMultipleLinesSniff
如果phpdoc是单行(除非它在变量上),则发出警告
禁止
/** @property-read $bar */ class Foo { /** @var Bar */ public $bar; }
允许
/** * @property-read $bar */ class Foo { /** * @var Bar */ public $bar; }
NullFirstSniff
禁止
/** @property-read Foo|NULL $bar */
允许
/** @property-read NULL|Foo $bar */
SeparateInjectSniff
@inject
不能与 @var
在同一行
ControlStructures
SeparateBracketsSniff
强制在 if
、else
、elseif
、foreach
和 for
块的开括号前换行
if (...) { return TRUE; }
Debug
ClassDebuggerCallSniff
如果方法 dump
、barDump
、firelog
或 timer
在 Debugger
类上被调用,则发出警告。
DebugFunctionCallSniff
如果调用函数 d
、dd
、de
、dump
、var_dump
、error_log
或 print_r
,则发出警告。
Formatting
UseInAlphabeticalOrderSniff
UseWithoutStartingSeparator
在 use \Foo\Bar;
上发出警告,建议使用 use Foo\Bar
代替。
MVC
AbstractOrFinalPresenterSniff
Nette Presenter 类必须是抽象或最终的。
Namespaces
UseDeclarationSniff
使用声明必须紧跟在命名空间声明之后,由恰好一个空行分隔。每个声明恰好有一个使用。最后的使用声明之后必须恰好有两个空行。
Newlines
NamespaceNewlinesSniff
命名空间声明必须直接位于 php 开启标签下,由恰好一个空行分隔。命名空间声明和第一个使用声明之间必须恰好有一个空行。如果没有使用声明跟随,命名空间声明之后必须有两行。
<?php namespace Foo; use Bar; class Quaz {}
UseNewlinesSniff
使用声明之间不能有空行。
PHP
KeywordCaseSniff
检查所有构造(除逻辑运算符外)都是小写。例如:foreach
而不是 ForEach
UpperCaseBooleanConstantSniff UpperCaseNullConstantSniff
TRUE && FALSE && NULL;
Strings
ConcatenationSpacingSniff
连接操作符 (.
) 必须在两侧各有一个空格。
Variables
VariableNameSniff
强制使用 camelCase 并禁止使用前导下划线。
WhiteSpace
CommaSpacingSniff
确保在每个逗号之前没有空白,之后恰好有一个空格。
ListSpacingSniff
禁止
list ($a, $b);
允许
list($a, $b);