filter:
    excluded_paths: [tests/*, build/*]

checks:
    php:
        code_rating: true
        duplication: true
        variable_existence: true
        useless_calls: true
        use_statement_alias_conflict: true
        unused_variables: true
        unused_properties: true
        unused_parameters: true
        unused_methods: true
        unreachable_code: true
        sql_injection_vulnerabilities: true
        security_vulnerabilities: true
        precedence_mistakes: true
        precedence_in_conditions: true
        parameter_non_unique: true
        no_property_on_interface: true
        no_non_implemented_abstract_methods: true
        deprecated_code_usage: true
        closure_use_not_conflicting: true
        closure_use_modifiable: true
        avoid_useless_overridden_methods: true
        avoid_conflicting_incrementers: true
        assignment_of_null_return: true
        verify_property_names: true
        verify_argument_usable_as_reference: true
        use_self_instead_of_fqcn: true
        uppercase_constants: true
        too_many_arguments: true
        switch_fallthrough_commented: true
        spacing_of_function_arguments: true
        spacing_around_non_conditional_operators: true
        spacing_around_conditional_operators: true
        space_after_cast: true
        single_namespace_per_use: true
        simplify_boolean_return: true
        side_effects_or_types: true
        scope_indentation:
            spaces_per_level: '4'
        return_doc_comments: true
        return_doc_comment_if_not_inferrable: true
        require_scope_for_properties: true
        require_scope_for_methods: true
        require_php_tag_first: true
        require_closing_tag: true
        prefer_while_loop_over_for_loop: true
        prefer_unix_line_ending: true
        prefer_sapi_constant: true
        parameter_doc_comments: true
        param_doc_comment_if_not_inferrable: true
        more_specific_types_in_doc_comments: true
        overriding_private_members: true
        optional_parameters_at_the_end: true
        non_commented_empty_catch_block: true
        no_unnecessary_if: true
        no_unnecessary_function_call_in_for_loop: true
        no_unnecessary_final_modifier: true
        lowercase_php_keywords: true
        lowercase_basic_constants: true
        avoid_unnecessary_concatenation: true
        avoid_fixme_comments: true
        avoid_duplicate_types: true
        avoid_corrupting_byteorder_marks: true
        argument_type_checks: true
        avoid_superglobals: true
        avoid_perl_style_comments: true
        avoid_multiple_statements_on_same_line: true
        avoid_length_functions_in_loops: true
        missing_arguments: true
        method_calls_on_non_object: true
        no_mixed_inline_html: true
        no_goto: true
        no_exit: true
        no_eval: true
        no_error_suppression: true
        no_empty_statements: true
        no_elseif_statements: true
        no_duplicate_arguments: true
        no_debug_code: true

tools:
    external_code_coverage: true
    php_code_coverage: true
    php_cs_fixer: true
    php_code_sniffer: true
    php_cpd: true
    php_hhvm: true
    php_mess_detector: true
    php_analyzer: true
    php_pdepend: true
    sensiolabs_security_checker: true
