<?php function someFunctionWithAVeryLongName($firstParameter='something', $secondParameter='booooo', $third=null, $fourthParameter=false, $fifthParameter=123.12, $sixthParam=true ) { } function someFunctionWithAVeryLongName2($firstParameter='something', $secondParameter='booooo', $third=null, $fourthParameter=false, $fifthParameter=123.12, $sixthParam=true ) { } function blah() { } function blah() { } abstract class MyClass { public function someFunctionWithAVeryLongName($firstParameter='something', $secondParameter='booooo', $third=null, $fourthParameter=false, $fifthParameter=123.12, $sixthParam=true ) /** w00t */ { } public function someFunctionWithAVeryLongName2( $firstParameter='something', $secondParameter='booooo', $third=null ) { } protected abstract function processTokenWithinScope( PHP_CodeSniffer_File $phpcsFile, $stackPtr, $currScope ); protected abstract function processToken( PHP_CodeSniffer_File $phpcsFile, $stackPtr, $currScope ); } function getInstalledStandards( $includeGeneric=false, $standardsDir='' ) { } function &testFunction($arg1, $arg2, ) { } function testFunction($arg1, $arg2 ) { } function validateUrl( $url, $requireScheme=TRUE, array $allowedSchemes=array( 'http', 'https', ), array $notAllowedSchemes=array('ftp', 'sftp') ) { } function validateUrlShort( $url, $requireScheme=TRUE, array $allowedSchemes=[ 'http', 'https', ], array $notAllowedSchemes=['ftp', 'sftp'] ) { } $noArgs_longVars = function () use ( $longVar1, $longerVar2, $muchLongerVar3 ) { // body }; $longArgs_longVars = function ( $longArgument, $longerArgument, $muchLongerArgument ) use ( $longVar1, $longerVar2, $muchLongerVar3 ) { // body }; $longArgs_longVars = function ( $longArgument, $longerArgument, $muchLongerArgument ) use ( $longVar1, $longerVar2, $muchLongerVar3 ) { // body }; $longArgs_longVars = function ( $longArgument, $muchLongerArgument ) use ( $muchLongerVar3 ) { // body }; function test() { $longArgs_longVars = function ( $longArgument, $longerArgument, $muchLongerArgument ) use ( $longVar1, $longerVar2, $muchLongerVar3 ) { // body }; } function myFunction() { } function myFunction() { } use function foo\bar; use function bar\baz; namespace { use function Name\Space\f; f(); } $var = function () { return true;}; $var = function () { return true; }; function blah() { return true; } $closureWithArgsAndVars = function ($arg1, $arg2) use ($var1, $var2) { // body }; function blah() { // body } $b = function &() { echo "hello"; }; function foo( $param1, $param2, $param3 ) : SomeClass { } function foo( $param1, $param2, $param3 ): SomeClass { } function foo( $param1, $param2, $param3 ): SomeClass { // Comment here } function foo( $param1, $param2, $param3 ) : SomeClass { } function foo( $var ) { // body } function foo( $var ) { /* hello */ // body } function foo( $var ) { echo 'hi'; // body } function foo( $var ) { /* hello */ echo 'hi'; // body } $a = function () { function foo() {} abstract class Foo { function bar() { } abstract function baz(); abstract function qux() : void; } interface Foo { function bar(); function baz( $longArgument, $longerArgument, $muchLongerArgument ); function qux( $longArgument, $longerArgument, $muchLongerArgument ) : void; } trait Foo { function bar() { } abstract function baz(); } if(true) { abstract class Foo { function bar() { } abstract function baz(); abstract function qux() : void; } interface Foo { function bar(); function baz( $longArgument, $longerArgument, $muchLongerArgument ); function qux( $longArgument, $longerArgument, $muchLongerArgument ) : void; } trait Foo { function bar() { } abstract function baz(); } } class ConstructorPropertyPromotionSingleLineDocblockIndentOK { public function __construct( /** @var string */ public string $public, /** @var string */ private string $private, ) { } } class ConstructorPropertyPromotionMultiLineDocblockAndAttributeIndentOK { public function __construct( /** * @var string * @Assert\NotBlank() */ public string $public, /** * @var string * @Assert\NotBlank() */ #[NotBlank] private string $private, ) { } } class ConstructorPropertyPromotionSingleLineDocblockIncorrectIndent { public function __construct( /** @var string */ public string $public, /** @var string */ private string $private, ) { } } class ConstructorPropertyPromotionMultiLineDocblockAndAttributeIncorrectIndent { public function __construct( /** * @var string * @Assert\NotBlank() */ public string $public, /** * @var string * @Assert\NotBlank() */ #[NotBlank] private string $private, ) { } } class ConstructorPropertyPromotionMultiLineAttributesOK { public function __construct( #[ORM\ManyToOne( Something: true, SomethingElse: 'text', )] #[Groups([ 'ArrayEntry', 'Another.ArrayEntry', ])] #[MoreGroups( [ 'ArrayEntry', 'Another.ArrayEntry', ] )] private Type $property ) { // Do something. } } class ConstructorPropertyPromotionMultiLineAttributesIncorrectIndent { public function __construct( #[ORM\ManyToOne( Something: true, SomethingElse: 'text', )] #[Groups([ 'ArrayEntry', 'Another.ArrayEntry', ])] #[MoreGroups( [ 'ArrayEntry', 'Another.ArrayEntry', ] )] private Type $property ) { // Do something. } }