diff --git a/Classes.md b/Classes.md index c6c9030..9055fcf 100644 --- a/Classes.md +++ b/Classes.md @@ -76,4 +76,58 @@ class MyClass extends BaseClass {
-_Reference_: [`Generic.CodeAnalysis.UselessOverridingMethod`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php) \ No newline at end of file +_Reference_: [`Generic.CodeAnalysis.UselessOverridingMethod`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php) + +# abstract and final declarations MUST precede the visibility declaration + +When declaring `abstract` and `final` functions, the visibility (scope) must follow after `abstract` or `final`. + +
Example

+ +**Bad** + +```PHP +class MyClass extends BaseClass { + public abstract function AbstractFunction() { } + public final function FinalFunction() { } +} +``` + +**Good** (`abstract` and `final` before `public`) + +```PHP +class MyClass extends BaseClass { + abstract public function AbstractFunction() { } + final public function FinalFunction() { } +} +``` + +

+ +_Reference_: [`PSR2.Methods.MethodDeclaration`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php) + +# static declaration MUST come after the visibility declaration + +The `static` keyword must come after the visibility (scope) parameter. + +
Example

+ +**Bad** + +```PHP +class MyClass extends BaseClass { + static public function StaticFunction() { } +} +``` + +**Good** (`static` after `public`) + +```PHP +class MyClass extends BaseClass { + public static function StaticFunction() { } +} +``` + +

+ +_Reference_: [`PSR2.Methods.MethodDeclaration`](https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php) \ No newline at end of file