83 lines
3.6 KiB
XML
83 lines
3.6 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="CiviCRM - Modified"
|
|
xsi:noNamespaceSchemaLocation="tools/phpcs/vendor/squizlabs/php_codesniffer/phpcs.xsd">
|
|
<description>CiviCRM coding standard with some additional changes</description>
|
|
|
|
<file>api</file>
|
|
<file>Civi</file>
|
|
<file>CRM</file>
|
|
<file>tests</file>
|
|
|
|
<exclude-pattern>/CRM/[^/]+/DAO/.*\.php$</exclude-pattern>
|
|
|
|
<arg name="extensions" value="php"/>
|
|
<arg name="cache" value=".phpcs.cache"/>
|
|
<arg name="colors"/>
|
|
<arg value="sp"/>
|
|
|
|
<!-- Exit with code 0 if warnings, but no error occurred -->
|
|
<config name="ignore_warnings_on_exit" value="true"/>
|
|
|
|
<rule ref="tools/phpcs/vendor/drupal/coder/coder_sniffer/Drupal">
|
|
<!-- Conflicts with PHPStan type hints -->
|
|
<exclude name="Drupal.Commenting.VariableComment.IncorrectVarType"/>
|
|
<exclude name="Drupal.Commenting.FunctionComment.ParamTypeSpaces"/>
|
|
<exclude name="Drupal.Commenting.FunctionComment.ReturnTypeSpaces"/>
|
|
<exclude name="Drupal.Commenting.VariableComment.MissingVar"/>
|
|
|
|
<!-- Don't enforce phpdoc type hint because it (might) only duplicate a PHP type hint -->
|
|
<exclude name="Drupal.Commenting.VariableComment.MissingVar"/>
|
|
|
|
<!-- Don't enforce phpdoc type hint because it (might) only duplicate a PHP type hint -->
|
|
<exclude name="Drupal.Commenting.FunctionComment.ParamMissingDefinition"/>
|
|
|
|
<!-- False positive when license header is set and variable has no comment -->
|
|
<exclude name="Drupal.Commenting.VariableComment.WrongStyle"/>
|
|
</rule>
|
|
|
|
<rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
|
|
<rule ref="Generic.CodeAnalysis.EmptyStatement">
|
|
<exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedCatch"/>
|
|
</rule>
|
|
<rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
|
|
<rule ref="Generic.Files.OneClassPerFile"/>
|
|
<rule ref="Generic.Files.OneInterfacePerFile"/>
|
|
<rule ref="Generic.Files.OneObjectStructurePerFile"/>
|
|
<rule ref="Generic.Files.OneTraitPerFile"/>
|
|
<rule ref="Generic.Formatting.DisallowMultipleStatements"/>
|
|
<rule ref="Generic.Metrics.CyclomaticComplexity"/>
|
|
<rule ref="Generic.Metrics.NestingLevel"/>
|
|
<rule ref="Generic.NamingConventions.AbstractClassNamePrefix"/>
|
|
<rule ref="Generic.NamingConventions.InterfaceNameSuffix"/>
|
|
<rule ref="Generic.NamingConventions.TraitNameSuffix"/>
|
|
<rule ref="Generic.PHP.RequireStrictTypes"/>
|
|
<rule ref="PSR1.Files.SideEffects"/>
|
|
<rule ref="PSR12.Classes.ClassInstantiation"/>
|
|
<rule ref="PSR12.Properties.ConstantVisibility"/>
|
|
<rule ref="Squiz.PHP.CommentedOutCode"/>
|
|
<rule ref="Squiz.PHP.GlobalKeyword"/>
|
|
<rule ref="Squiz.Strings.DoubleQuoteUsage">
|
|
<exclude name="Squiz.Strings.DoubleQuoteUsage.ContainsVar"/>
|
|
</rule>
|
|
|
|
<!-- Lines can be 120 chars long, but never show errors -->
|
|
<rule ref="Generic.Files.LineLength">
|
|
<properties>
|
|
<property name="lineLimit" value="120"/>
|
|
<property name="absoluteLineLimit" value="0"/>
|
|
</properties>
|
|
</rule>
|
|
|
|
<!-- Ban some functions -->
|
|
<rule ref="Generic.PHP.ForbiddenFunctions">
|
|
<properties>
|
|
<property name="forbiddenFunctions" type="array">
|
|
<element key="sizeof" value="count"/>
|
|
<element key="delete" value="unset"/>
|
|
<element key="print" value="echo"/>
|
|
<element key="is_null" value="null"/>
|
|
<element key="create_function" value="null"/>
|
|
</property>
|
|
</properties>
|
|
</rule>
|
|
</ruleset>
|