adding a PHP Code Sniffer config file
This commit is contained in:
parent
58c5c57cc3
commit
46b6cb678e
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>
|
Loading…
x
Reference in New Issue
Block a user