<?xml version="1.0"?>
<ruleset name="BeycanPressStandard">
    <rule ref="PSR12"/>
    <description>
        BeycanPressStandard
    </description>
    <file>./**/*.php</file>
    <arg name="extensions" value="php"/>
    <exclude-pattern>*/views/*</exclude-pattern>
    <exclude-pattern>*/vendor/*</exclude-pattern>
    <exclude-pattern>*/PluginHero/templates/*</exclude-pattern>
    <arg name="standard" value="PSR12"/>
    <rule ref="Generic.Files.InlineHTML"/>
    <rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
    <rule ref="Squiz.Commenting.FunctionComment.Missing"/>
    <rule ref="Squiz.Commenting.FunctionComment.MissingParamTag"/>
    <rule ref="Squiz.Commenting.FunctionComment.MissingParamName"/>
    <rule ref="Squiz.Commenting.FunctionComment.ParamNameNoMatch"/>
    <rule ref="Squiz.Commenting.FunctionComment.IncorrectTypeHint"/>
    <rule ref="Squiz.Commenting.FunctionComment.MissingReturn"/>
    <rule ref="SlevomatCodingStandard.ControlStructures.RequireYodaComparison"/>
    <rule ref="SlevomatCodingStandard.TypeHints.DeclareStrictTypes">
        <exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes.IncorrectStrictTypesFormat" />
    </rule>
    <rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint">
        <exclude name="SlevomatCodingStandard.TypeHints.PropertyTypeHint.UselessAnnotation" />
    </rule>
    <rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHint">
        <exclude name="SlevomatCodingStandard.TypeHints.ParameterTypeHint.UselessAnnotation" />
    </rule>
    <rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint">
        <exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint.UselessAnnotation" />
    </rule>
    <rule ref="SlevomatCodingStandard.Commenting.EmptyComment"/>
    <rule ref="SlevomatCodingStandard.Commenting.AnnotationName"/>
</ruleset>
