Skip to content

Instantly share code, notes, and snippets.

@afragen
Last active September 10, 2023 16:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save afragen/4c56ba9902761d9baed9783676196802 to your computer and use it in GitHub Desktop.
Save afragen/4c56ba9902761d9baed9783676196802 to your computer and use it in GitHub Desktop.
phpcs files for my plugins and core plugins
<?xml version="1.0"?>
<ruleset name="AJF Coding Standards">
<description>A custom ruleset to take in account both WordPress and personal standards.</description>
<!-- Show progress and sniff codes in all reports -->
<arg value="ps"/>
<arg value="sp"/>
<arg name="colors"/>
<!-- Only check PHP files. -->
<arg name="extensions" value="php"/>
<file>.</file>
<!-- Exclude these -->
<exclude-pattern>/vendor/*</exclude-pattern>
<exclude-pattern>/node_modules/*</exclude-pattern>
<exclude-pattern>/tests/*</exclude-pattern>
<exclude-pattern>*.js</exclude-pattern>
<rule ref="WordPress">
<exclude name="WordPress.Files.FileName.InvalidClassFileName"/>
<exclude name="WordPress.Files.FileName.NotHyphenatedLowercase"/>
<exclude name="WordPress.NamingConventions.ValidVariableName"/>
<exclude name="WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents"/>
<exclude name="WordPress.WP.AlternativeFunctions.parse_url_parse_url"/>
<exclude name="WordPress.WP.AlternativeFunctions.json_encode_json_encode"/>
<exclude name="WordPress.WP.I18n.NonSingularStringLiteralText"/>
<exclude name="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingBeforeClose"/>
<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/>
<exclude name="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace"/>
<exclude name="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceAfterOpen"/>
<exclude name="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceBeforeClose"/>
<exclude name="Squiz.ControlStructures.InlineIfDeclaration.NotSingleLine"/>
<exclude name="Squiz.ControlStructures.ElseIfDeclaration.NotAllowed"/>
<exclude name="Squiz.ControlStructures.SwitchDeclaration.MissingDefault"/>
<exclude name="Squiz.ControlStructures.SwitchDeclaration.EmptyDefault"/>
<exclude name="Squiz.ControlStructures.SwitchDeclaration.EmptyCase"/>
</rule>
<!-- Enforce space before closing parenthesis -->
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingBeforeClose">
<severity>5</severity>
</rule>
<rule ref="Universal.Classes">
<exclude name="Universal.Classes.RequireFinalClass.NonFinalClassFound"/>
<exclude name="Universal.Classes.DisallowFinalClass.FinalClassFound"/>
</rule>
<rule ref="Universal.Namespaces">
<exclude name="Universal.Namespaces.EnforceCurlyBraceSyntax.Forbidden"/>
</rule>
<rule ref="Universal.FunctionDeclarations">
<exclude name="Universal.FunctionDeclarations.NoLongClosures.ExceedsRecommended"/>
<exclude name="Universal.FunctionDeclarations.NoLongClosures.ExceedsMaximum"/>
</rule>
<rule ref="Universal.Operators">
<exclude name="Universal.Operators.DisallowShortTernary.Found"/>
</rule>
<rule ref="Universal.CodeAnalysis">
<exclude name="Universal.CodeAnalysis.ConstructorDestructorReturn.ReturnValueFound"/>
<exclude name="Universal.CodeAnalysis.ConstructorDestructorReturn.ReturnValueFound"/>
</rule>
<!-- Use short arrays -->
<rule ref="Universal.Arrays">
<exclude name="Universal.Arrays.DisallowShortArraySyntax.Found"/>
</rule>
<rule ref="Generic.Arrays">
<exclude name="Generic.Arrays.DisallowShortArraySyntax.Found"/>
</rule>
</ruleset>
<?xml version="1.0"?>
<ruleset name="WordPress Core Plugins">
<description>Basic WordPress Core syntax.</description>
<!-- Show progress and sniff codes in all reports -->
<arg value="ps"/>
<arg value="sp"/>
<arg name="colors"/>
<!-- Only check PHP files. -->
<arg name="extensions" value="php"/>
<file>.</file>
<!-- Exclude these -->
<exclude-pattern>/vendor/*</exclude-pattern>
<exclude-pattern>/node_modules/*</exclude-pattern>
<exclude-pattern>/tests/*</exclude-pattern>
<exclude-pattern>*.js</exclude-pattern>
<rule ref="WordPress">
<exclude name="WordPress.Files.FileName.InvalidClassFileName"/>
<exclude name="WordPress.Files.FileName.NotHyphenatedLowercase"/>
<exclude name="WordPress.NamingConventions.ValidVariableName"/>
<exclude name="WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents"/>
<exclude name="WordPress.WP.AlternativeFunctions.parse_url_parse_url"/>
<exclude name="WordPress.WP.AlternativeFunctions.json_encode_json_encode"/>
<exclude name="WordPress.WP.I18n.NonSingularStringLiteralText"/>
<exclude name="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingBeforeClose"/>
<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/>
<exclude name="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace"/>
<exclude name="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceAfterOpen"/>
<exclude name="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceBeforeClose"/>
<exclude name="Squiz.ControlStructures.InlineIfDeclaration.NotSingleLine"/>
<exclude name="Squiz.ControlStructures.ElseIfDeclaration.NotAllowed"/>
<exclude name="Squiz.ControlStructures.SwitchDeclaration.MissingDefault"/>
<exclude name="Squiz.ControlStructures.SwitchDeclaration.EmptyDefault"/>
<exclude name="Squiz.ControlStructures.SwitchDeclaration.EmptyCase"/>
</rule>
<!-- Enforce space before closing parenthesis -->
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingBeforeClose">
<severity>5</severity>
</rule>
<rule ref="Universal.Classes">
<exclude name="Universal.Classes.RequireFinalClass.NonFinalClassFound"/>
<exclude name="Universal.Classes.DisallowFinalClass.FinalClassFound"/>
</rule>
<rule ref="Universal.Namespaces">
<exclude name="Universal.Namespaces.EnforceCurlyBraceSyntax.Forbidden"/>
</rule>
<rule ref="Universal.FunctionDeclarations">
<exclude name="Universal.FunctionDeclarations.NoLongClosures.ExceedsRecommended"/>
<exclude name="Universal.FunctionDeclarations.NoLongClosures.ExceedsMaximum"/>
</rule>
<rule ref="Universal.Operators">
<exclude name="Universal.Operators.DisallowShortTernary.Found"/>
</rule>
<rule ref="Universal.CodeAnalysis">
<exclude name="Universal.CodeAnalysis.ConstructorDestructorReturn.ReturnValueFound"/>
<exclude name="Universal.CodeAnalysis.ConstructorDestructorReturn.ReturnValueFound"/>
</rule>
</ruleset>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment