<?xml version="1.0" encoding="UTF-8"?> <ruleset name="HumHub"> <description>HumHub coding standards</description> <!-- Include PSR-1 --> <rule ref="PSR1"/> <rule ref="PSR2"> <!-- We don't have line length (line width) limits. --> <exclude name="Generic.Files.LineLength"/> <!-- CASE keyword must be indented 4 spaces from SWITCH keyword. --> <exclude name="PSR2.ControlStructures.SwitchDeclaration"/> </rule> <!-- Prefer [] instead array() --> <rule ref="Generic.Arrays.DisallowLongArraySyntax.Found"> <type>warning</type> </rule> <!-- If string doesn't contain variables or single quotes, use single quotes. --> <rule ref="Squiz.Strings.DoubleQuoteUsage.ContainsVar"> <!-- Not check variable substitution --> <severity>0</severity> </rule> <!-- Require space for string concatenation --> <rule ref="Squiz.Strings.ConcatenationSpacing"> <properties> <property name="spacing" value="1"/> <property name="ignoreNewlines" value="true"/> </properties> </rule> <!-- Accept missing space before : when using short if --> <rule ref="Squiz.ControlStructures.ControlSignature"> <properties> <property name="requiredSpacesBeforeColon" value="0"/> </properties> </rule> <!-- Ignore for migrations. --> <!-- Ignore missing namespace for migrations --> <rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace"> <exclude-pattern>m\d{6}_\d{6}_.+\.php$</exclude-pattern> </rule> <!-- Ignore camel caps format for class name of migrations --> <rule ref="Squiz.Classes.ValidClassName.NotCamelCaps"> <exclude-pattern>m\d{6}_\d{6}_.+\.php$</exclude-pattern> </rule> <!-- Ignore for tests. --> <!-- Ignore method name prefixed with underscore to indicate visibility --> <rule ref="PSR2.Methods.MethodDeclaration.Underscore"> <exclude-pattern>tests?/*(Cest|Test).php$</exclude-pattern> </rule> </ruleset>