wikimedia/eventmetrics

View on GitHub
.phpcs.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<ruleset name="EventMetrics">
    <rule ref="PSR2"/>
    <file>.</file>
    <exclude-pattern>vendor/</exclude-pattern>
    <exclude-pattern>node_modules/</exclude-pattern>
    <exclude-pattern>var/</exclude-pattern>
    <exclude-pattern>public/</exclude-pattern>
    <exclude-pattern>build/api-cache</exclude-pattern>
    <exclude-pattern>phpdoc-install.php</exclude-pattern>
    <exclude-pattern>*.min.js</exclude-pattern>
    <exclude-pattern>app/DoctrineMigrations/</exclude-pattern>
    <exclude-pattern>app/AppCache.php</exclude-pattern>
    <exclude-pattern>app/AppKernel.php</exclude-pattern>

    <!-- Slevomat standards; see https://github.com/slevomat/coding-standard -->
    <config name="installed_paths" value="../../slevomat/coding-standard"/><!-- relative path from PHPCS source location -->
    <rule ref="SlevomatCodingStandard.TypeHints.TypeHintDeclaration">
        <exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.UselessDocComment"/>
    </rule>
    <rule ref="SlevomatCodingStandard.TypeHints.DeclareStrictTypes">
        <exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes.IncorrectWhitespaceBetweenOpenTagAndDeclare"/>
        <exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes.IncorrectStrictTypesFormat"/>
    </rule>
    <rule ref="SlevomatCodingStandard.ControlStructures.AssignmentInCondition"/>
    <rule ref="SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch"/>
    <rule ref="SlevomatCodingStandard.ControlStructures.RequireNullCoalesceOperator"/>
    <rule ref="SlevomatCodingStandard.Operators.RequireCombinedAssignmentOperator"/>
    <rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure"/>
    <rule ref="SlevomatCodingStandard.Functions.UselessParameterDefaultValue"/>
    <rule ref="SlevomatCodingStandard.Namespaces.UnusedUses">
        <properties>
            <property name="searchAnnotations" value="true"/>
        </properties>
    </rule>
    <rule ref="SlevomatCodingStandard.Namespaces.UselessAlias"/>
    <rule ref="SlevomatCodingStandard.PHP.UselessParentheses"/>
    <rule ref="SlevomatCodingStandard.PHP.UselessSemicolon"/>
    <rule ref="SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable"/>
    <rule ref="SlevomatCodingStandard.Variables.UnusedVariable"/>
    <rule ref="SlevomatCodingStandard.Exceptions.DeadCatch"/>
    <rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/>
    <rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference"/>
    <rule ref="SlevomatCodingStandard.ControlStructures.RequireYodaComparison"/>
    <rule ref="SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses"/>
    <rule ref="SlevomatCodingStandard.Namespaces.NamespaceSpacing">
        <properties>
            <property name="linesCountBeforeNamespace" value="1"/>
            <property name="linesCountAfterNamespace" value="1"/>
        </properties>
    </rule>
    <rule ref="SlevomatCodingStandard.Namespaces.UseSpacing">
        <properties>
            <property name="linesCountBeforeFirstUse" value="1"/>
            <property name="linesCountBetweenUseTypes" value="0"/>
            <property name="linesCountAfterLastUse" value="1"/>
        </properties>
    </rule>
    <rule ref="SlevomatCodingStandard.PHP.ShortList"/>
    <rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName">
        <properties>
            <property name="rootNamespaces" type="array">
                <element key="src/AppBundle" value="AppBundle"/>
                <element key="tests" value="Tests"/>
            </property>
        </properties>
    </rule>
    <rule ref="SlevomatCodingStandard.Classes.ClassConstantVisibility"/>
    <rule ref="SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue"/>
    <rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHintSpacing"/>
    <rule ref="SlevomatCodingStandard.Namespaces.MultipleUsesPerLine"/>
    <rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations">
        <properties>
            <property name="forbiddenAnnotations" type="array">
                <element value="@author"/>
                <element value="@created"/>
                <element value="@version"/>
                <element value="@package"/>
                <element value="@copyright"/>
                <element value="@license"/>
            </property>
        </properties>
    </rule>
    <rule ref="SlevomatCodingStandard.Commenting.EmptyComment"/>
    <rule ref="SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration"/>

    <!-- Squiz / PSR conventions -->
    <rule ref="Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps">
        <exclude name="Squiz.NamingConventions.ValidVariableName.PrivateNoUnderscore"/>
    </rule>
    <rule ref="Squiz.NamingConventions.ValidVariableName.StringNotCamelCaps"/>
    <rule ref="PSR1.Files.SideEffects.FoundWithSymbols">
        <exclude-pattern>app/AppKernel.php</exclude-pattern>
    </rule>
    <rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace">
        <exclude-pattern>app/AppKernel.php</exclude-pattern>
        <exclude-pattern>app/AppCache.php</exclude-pattern>
    </rule>
    <rule ref="Squiz.Strings.ConcatenationSpacing">
        <properties>
            <property name="ignoreNewlines" value="true" />
        </properties>
    </rule>
</ruleset>