adding a PHP Code Sniffer config file
This commit is contained in:
		
							
								
								
									
										213
									
								
								src/phpcs.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										213
									
								
								src/phpcs.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,213 @@ | |||||||
|  | <?xml version="1.0"?> | ||||||
|  | <ruleset name="Laravel Standards" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd"> | ||||||
|  |     <description>PHP Codesniffer ruleset to follow Laravel's coding style</description> | ||||||
|  |     <rule ref="Generic.Classes.DuplicateClassName"> | ||||||
|  |         <exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedIf"/> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.EmptyStatement"/> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.JumbledIncrementer"/> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.UnusedFunctionParameter"> | ||||||
|  |         <exclude-pattern>/app/Http/Resources/*\.php</exclude-pattern> | ||||||
|  |         <exclude-pattern>/routes/*\.php</exclude-pattern> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/> | ||||||
|  |     <rule ref="Generic.Commenting.DocComment"> | ||||||
|  |         <exclude name="Generic.Commenting.DocComment.TagValueIndent"/> | ||||||
|  |         <exclude name="Generic.Commenting.DocComment.NonParamGroup"/> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.ControlStructures.InlineControlStructure"/> | ||||||
|  |     <rule ref="Generic.Files.ByteOrderMark"/> | ||||||
|  |     <rule ref="Generic.Files.LineEndings"> | ||||||
|  |         <exclude name="Generic.Files.LineEndings.InvalidEOLChar"/> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.Formatting.DisallowMultipleStatements"/> | ||||||
|  |     <rule ref="Generic.Formatting.SpaceAfterCast"/> | ||||||
|  |     <rule ref="Generic.Formatting.SpaceAfterNot"/> | ||||||
|  |     <rule ref="Generic.Functions.CallTimePassByReference"/> | ||||||
|  |     <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/> | ||||||
|  |     <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/> | ||||||
|  |     <rule ref="Generic.Metrics.CyclomaticComplexity"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="complexity" value="20"/> | ||||||
|  |             <property name="absoluteComplexity" value="25"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.Metrics.NestingLevel"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="nestingLevel" value="5"/> | ||||||
|  |             <property name="absoluteNestingLevel" value="15"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.NamingConventions.ConstructorName"/> | ||||||
|  |     <rule ref="Generic.NamingConventions.CamelCapsFunctionName"> | ||||||
|  |         <exclude-pattern>*/tests</exclude-pattern> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Generic.PHP.LowerCaseConstant"/> | ||||||
|  |     <rule ref="Generic.PHP.DeprecatedFunctions"/> | ||||||
|  |     <rule ref="Generic.PHP.DisallowShortOpenTag"/> | ||||||
|  |     <rule ref="Generic.PHP.ForbiddenFunctions"/> | ||||||
|  |     <rule ref="Generic.PHP.NoSilencedErrors"/> | ||||||
|  |     <rule ref="Generic.WhiteSpace.DisallowTabIndent"/> | ||||||
|  |     <rule ref="Generic.WhiteSpace.ScopeIndent"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="indent" value="4"/> | ||||||
|  |             <property name="tabIndent" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="MySource.PHP.EvalObjectFactory"/> | ||||||
|  |     <rule ref="PSR1.Classes.ClassDeclaration"/> | ||||||
|  |     <rule ref="PSR1.Files.SideEffects"> | ||||||
|  |         <exclude-pattern>*/artisan</exclude-pattern> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="PSR1.Files.SideEffects"/> | ||||||
|  |     <rule ref="PSR2.Classes.ClassDeclaration"/> | ||||||
|  |     <rule ref="PSR2.Classes.PropertyDeclaration"/> | ||||||
|  |     <rule ref="PSR2.ControlStructures.ControlStructureSpacing"/> | ||||||
|  |     <rule ref="PSR2.ControlStructures.ElseIfDeclaration"/> | ||||||
|  |     <rule ref="PSR2.ControlStructures.SwitchDeclaration"/> | ||||||
|  |     <rule ref="PSR2.Files.EndFileNewline"/> | ||||||
|  |     <rule ref="PSR2.Methods.MethodDeclaration"/> | ||||||
|  |     <rule ref="PSR2.Namespaces.NamespaceDeclaration"/> | ||||||
|  |     <rule ref="PSR2.Namespaces.UseDeclaration"/> | ||||||
|  |     <rule ref="PSR1"> | ||||||
|  |         <exclude-pattern>*.php</exclude-pattern> | ||||||
|  |         <exclude name="PSR1.Methods.CamelCapsMethodName.NotCamelCaps"/> | ||||||
|  |  | ||||||
|  |         <exclude-pattern>database/*</exclude-pattern> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="PSR2"> | ||||||
|  |         <exclude name="PSR2.ControlStructures.SwitchDeclaration.BodyOnNextLineCASE" /> | ||||||
|  |         <properties> | ||||||
|  |             <property name="lineLimit" value="130"/> | ||||||
|  |             <property name="absoluteLineLimit" value="135"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Squiz.Arrays.ArrayDeclaration"> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.ValueNotAligned" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.KeyNotAligned" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.DoubleArrowNotAligned" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.ValueNotAligned" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.CloseBraceNotAligned" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.ValueNoNewline" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.MultiLineNotAllowed" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.IndexNoNewline" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.CloseBraceNewLine" /> | ||||||
|  |         <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.NewlineBeforeOpenBrace" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.NoKeySpecified" /> | ||||||
|  |         <exclude name="Squiz.Arrays.ArrayDeclaration.KeySpecified" /> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Squiz.PHP.CommentedOutCode"/> | ||||||
|  |     <rule ref="Squiz.PHP.DisallowSizeFunctionsInLoops"/> | ||||||
|  |     <rule ref="Squiz.PHP.DiscouragedFunctions"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="error" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Squiz.PHP.Eval"/> | ||||||
|  |     <rule ref="Squiz.PHP.GlobalKeyword"/> | ||||||
|  |     <rule ref="Squiz.PHP.Heredoc"/> | ||||||
|  |     <rule ref="Squiz.PHP.LowercasePHPFunctions"/> | ||||||
|  |     <rule ref="Squiz.PHP.NonExecutableCode"/> | ||||||
|  |     <rule ref="Squiz.Scope.MemberVarScope"/> | ||||||
|  |     <rule ref="Squiz.Scope.MethodScope"/> | ||||||
|  |     <rule ref="Squiz.Scope.StaticThisUsage"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.CastSpacing"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.ControlStructureSpacing"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.LanguageConstructSpacing"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.LogicalOperatorSpacing"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.ObjectOperatorSpacing"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="ignoreNewlines" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.OperatorSpacing"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="ignoreNewlines" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.PropertyLabelSpacing"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.ScopeClosingBrace"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.ScopeKeywordSpacing"/> | ||||||
|  |     <rule ref="Squiz.WhiteSpace.SemicolonSpacing"/> | ||||||
|  |     <rule ref="Squiz.Strings.DoubleQuoteUsage.NotRequired"/> | ||||||
|  |     <rule ref="Zend.Files.ClosingTag"/> | ||||||
|  |  | ||||||
|  |     <!-- Custom Sniffs --> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Namespaces.UnusedUses"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="searchAnnotations" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Namespaces.UseFromSameNamespace"/> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="caseSensitive" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Namespaces.FullyQualifiedClassNameInAnnotation"/> | ||||||
|  |     <rule ref="SlevomatCodingStandard.PHP.UselessSemicolon"/> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Classes.MethodSpacing"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="minLinesCount" value="1"/> | ||||||
|  |             <property name="maxLinesCount" value="1"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Functions.ArrowFunctionDeclaration"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="spacesCountAfterKeyword" value="1"/> | ||||||
|  |             <property name="spacesCountBeforeArrow" value="1"/> | ||||||
|  |             <property name="spacesCountAfterArrow" value="1"/> | ||||||
|  |             <property name="allowMultiLine" value="true"/> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName"> | ||||||
|  |         <properties> | ||||||
|  |             <property name="rootNamespaces" type="array"> | ||||||
|  |                 <element key="app" value="App"/> | ||||||
|  |                 <element key="database/factories" value="Database\Factories"/> | ||||||
|  |                 <element key="database/seeders" value="Database\Seeders"/> | ||||||
|  |                 <element key="tests" value="Tests"/> | ||||||
|  |             </property> | ||||||
|  |         </properties> | ||||||
|  |     </rule> | ||||||
|  |     <rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName"> | ||||||
|  |         <exclude-pattern>/database/schema/*</exclude-pattern> | ||||||
|  |         <exclude-pattern>/database/migrations/*</exclude-pattern> | ||||||
|  |     </rule> | ||||||
|  |  | ||||||
|  |     <file>./app</file> | ||||||
|  |     <file>./config</file> | ||||||
|  |     <file>./resources</file> | ||||||
|  |     <file>./routes</file> | ||||||
|  |     <file>./tests</file> | ||||||
|  |  | ||||||
|  |     <exclude-pattern>*/.phpstorm.meta.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/_ide_helper.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/cache/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/config/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/database/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/docs/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/migrations/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/storage/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/public/index.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/resources/lang/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/vendor/*</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/*.js</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/*.css</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/*.xml</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/*.blade.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/autoload.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/Console/Kernel.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/Exceptions/Handler.php</exclude-pattern> | ||||||
|  |     <exclude-pattern>*/Http/Kernel.php</exclude-pattern> | ||||||
|  |  | ||||||
|  |     <arg name="basepath" value="."/> | ||||||
|  |     <arg name="colors"/> | ||||||
|  |     <arg value="spv"/> | ||||||
|  |     <ini name="memory_limit" value="128M"/> | ||||||
|  | </ruleset> | ||||||
		Reference in New Issue
	
	Block a user