skyzyx/php-strong-types

View on GitHub
.scrutinizer.yml

Summary

Maintainability
Test Coverage
# language: php

before_commands:
    - "composer install --no-dev --prefer-source"
application:
    type: none
filter:
    excluded_paths:
        - tests/*
    paths: {}
tools:
    external_code_coverage:
        enabled: true
        filter:
            excluded_paths:
                - tests/*
            paths: {}
        runs: 1
        timeout: 600
    php_analyzer:
        config:
            basic_semantic_checks:
                enabled: true
                missing_abstract_methods: true
                property_on_interface: true
            check_access_control:
                enabled: true
            check_calls:
                argument_type_checks: lenient
                enabled: true
                method_call_validity: true
                missing_argument: true
                too_many_arguments: true
            check_debug_code:
                enabled: true
            check_property_assignments:
                enabled: false
            check_request_data_usage:
                enabled: false
            check_usage_context:
                enabled: true
                foreach:
                    traversable: true
                    value_as_reference: true
            check_variables:
                enabled: true
            checkstyle:
                enabled: true
                naming:
                    abstract_class_name: ^Abstract|Factory$
                    constant_name: "^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$"
                    enabled: true
                    exception_name: "^[A-Z][a-zA-Z0-9]*Exception$"
                    interface_name: "^[A-Z][a-zA-Z0-9]*Interface$"
                    isser_method_name: "^(?:is|has|should|may|supports|valid|exists|offset|get|set)"
                    local_variable: "^[a-z][a-zA-Z0-9_]*$"
                    method_name: "^(?:[a-z]|__)[a-zA-Z0-9]*$"
                    parameter_name: "^[a-z][a-zA-Z0-9_]*$"
                    property_name: "^[a-z][a-zA-Z0-9_]*$"
                    type_name: "^[A-Z][a-zA-Z0-9]*$"
                    utility_class_name: (Enum|Utils)?$
                no_trailing_whitespace: true
            dead_assignments:
                enabled: true
            deadlock_detection:
                enabled: true
            deprecation_checks:
                enabled: true
            doc_comment_fixes:
                enabled: true
            doctrine_entity_manager_injection:
                enabled: false
            doctrine_parameter_binding:
                enabled: false
            loops_must_use_braces:
                enabled: false
            method_contract_checks:
                enabled: false
                verify_documented_constraints: false
                verify_interface_like_constraints: false
                verify_parent_constraints: false
            metrics_coupling:
                enabled: true
                stable_code:
                    classes: {}
                    namespace_prefixes: {}
            metrics_lack_of_cohesion_methods:
                enabled: true
            parameter_reference_check:
                enabled: true
            phpunit_checks:
                enabled: true
            precedence_checks:
                assignment_in_condition: true
                comparison_of_bit_result: true
                enabled: true
            reflection_checks:
                enabled: false
            reflection_fixes:
                enabled: false
            simplify_boolean_return:
                enabled: true
            suspicious_code:
                assignment_of_null_return: true
                enabled: true
                non_commented_empty_catch_block: false
                non_commented_switch_fallthrough: true
                non_existent_class_in_catch_clause: true
                non_existent_class_in_instanceof_check: true
                overriding_closure_use: true
                overriding_parameter: false
                overriding_private_members: true
                parameter_closure_use_conflict: true
                parameter_multiple_times: true
                precedence_in_condition_assignment: true
                use_statement_alias_conflict: true
            symfony_request_injection:
                enabled: true
            typo_checks:
                enabled: true
            unreachable_code:
                enabled: true
            unused_code:
                enabled: true
                methods: true
                parameters: true
            use_statement_fixes:
                enabled: true
                order_alphabetically: true
                preserve_blanklines: false
                preserve_multiple: false
                remove_unused: true
            useless_function_calls:
                enabled: true
            verify_php_doc_comments:
                ask_for_param_type_annotation: true
                ask_for_return_if_not_inferrable: true
                enabled: true
                parameters: true
                parsable: false
                return: true
                suggest_more_specific_types: true
                traits_are_not_type_hinted: true
        dependency_paths: {}
        enabled: true
        extensions:
            - php
        filter:
            excluded_paths: {}
            paths:
                - src/*
                - tests/*
    php_changetracking:
        bug_patterns:
            - "\\bfix(?:es|ed)?\\b"
        enabled: true
        feature_patterns:
            - "\\badd(?:s|ed)?\\b"
            - "\\bimplement(?:s|ed)?\\b"
        filter:
            excluded_paths:
                - tests/*
            paths: {}
    php_code_sniffer:
        config:
            encoding: utf8
            ruleset: ~
            sniffs:
                generic:
                    classes:
                        duplicate_class_name_sniff: true
                    code_analysis:
                        empty_statement_sniff: true
                        for_loop_should_be_while_loop_sniff: false
                        for_loop_with_test_function_call_sniff: true
                        jumbled_incrementer_sniff: true
                        unconditional_if_statement_sniff: true
                        unnecessary_final_modifier_sniff: true
                        unused_function_parameter_sniff: false
                        useless_overriding_method_sniff: true
                    commenting:
                        fixme_sniff: true
                        todo_sniff: false
                    control_structures:
                        inline_control_structure_sniff: true
                    files:
                        byte_order_mark_sniff: true
                        end_file_newline_sniff: true
                        end_file_no_newline_sniff: false
                        inline_html_sniff: true
                        line_endings_sniff: true
                        line_length_sniff:
                            max_length: "120"
                        one_class_per_file_sniff: false
                        one_interface_per_file_sniff: false
                    formatting:
                        disallow_multiple_statements_sniff: true
                        multiple_statement_alignment_sniff: true
                        no_space_after_cast_sniff: false
                        space_after_cast_sniff: true
                    functions:
                        call_time_pass_by_reference_sniff: false
                        function_call_argument_spacing_sniff: true
                        opening_function_brace_bsd_allman_sniff: true
                        opening_function_brace_kernighan_ritchie_sniff: false
                    metrics:
                        cyclomatic_complexity_sniff: false
                        nesting_level_sniff: false
                    naming_conventions:
                        camel_caps_function_name_sniff: true
                        constructor_name_sniff: true
                        upper_case_constant_name_sniff: true
                    php:
                        character_before_php_opening_tag_sniff: true
                        closing_php_tag_sniff: false
                        deprecated_functions_sniff: false
                        disallow_short_open_tag_sniff: true
                        forbidden_functions_sniff: false
                        lower_case_constant_sniff: true
                        lower_case_keyword_sniff: true
                        no_silenced_errors_sniff: false
                        sapi_usage_sniff: true
                        upper_case_constant_sniff: false
                    strings:
                        unnecessary_string_concat_sniff: true
                    version_control:
                        subversion_properties_sniff: false
                    white_space:
                        disallow_space_indent_sniff: false
                        disallow_tab_indent_sniff: true
                        scope_indent_sniff:
                            spaces_per_level: "4"
                my_source:
                    commenting:
                        function_comment_sniff: false
                    debug:
                        debug_code_sniff: false
                    php:
                        eval_object_factory_sniff: false
                        return_function_value_sniff: false
                pear:
                    classes:
                        class_declaration_sniff: false
                    commenting:
                        class_comment_sniff: false
                        file_comment_sniff: false
                        function_comment_sniff: false
                        inline_comment_sniff: true
                    control_structures:
                        control_signature_sniff: false
                        multi_line_condition_sniff: false
                    files:
                        including_file_sniff: false
                    formatting:
                        multi_line_assignment_sniff: false
                    functions:
                        function_call_signature_sniff: false
                        function_declaration_sniff: false
                        valid_default_value_sniff: true
                    naming_conventions:
                        valid_class_name_sniff: false
                        valid_function_name_sniff: false
                        valid_variable_name_sniff: false
                    white_space:
                        object_operator_indent_sniff: false
                        scope_closing_brace_sniff: false
                        scope_indent_sniff: false
                psr1:
                    classes:
                        class_declaration_sniff: true
                    files:
                        side_effects_sniff: true
                psr2:
                    classes:
                        class_declaration_sniff: true
                        property_declaration_sniff: true
                    control_structures:
                        control_structure_spacing_sniff: true
                        else_if_declaration_sniff: true
                        switch_declaration_sniff: true
                    files:
                        end_file_newline_sniff: false
                    methods:
                        method_declaration_sniff: true
                    namespaces:
                        namespace_declaration_sniff: true
                        use_declaration_sniff: true
                squiz:
                    arrays:
                        array_bracket_spacing_sniff: false
                        array_declaration_sniff: false
                    classes:
                        class_declaration_sniff: false
                        class_file_name_sniff: false
                        lowercase_class_keywords_sniff: false
                        self_member_reference_sniff: true
                        valid_class_name_sniff: true
                    code_analysis:
                        empty_statement_sniff: false
                    commenting:
                        block_comment_sniff: false
                        class_comment_sniff: false
                        closing_declaration_comment_sniff: false
                        doc_comment_alignment_sniff: false
                        empty_catch_comment_sniff: false
                        file_comment_sniff: false
                        function_comment_sniff: false
                        function_comment_throw_tag_sniff: false
                        inline_comment_sniff: false
                        long_condition_closing_comment_sniff: false
                        post_statement_comment_sniff: false
                        variable_comment_sniff: false
                    control_structures:
                        control_signature_sniff: false
                        else_if_declaration_sniff: false
                        for_each_loop_declaration_sniff: false
                        for_loop_declaration_sniff: false
                        inline_if_declaration_sniff: false
                        lowercase_declaration_sniff: false
                        switch_declaration_sniff: false
                    files:
                        file_extension_sniff: false
                    formatting:
                        operator_bracket_sniff: false
                    functions:
                        function_declaration_argument_spacing_sniff: false
                        function_declaration_sniff: false
                        function_duplicate_argument_sniff: true
                        global_function_sniff: false
                        lowercase_function_keywords_sniff: false
                        multi_line_function_declaration_sniff: false
                    naming_conventions:
                        constant_case_sniff: false
                        valid_function_name_sniff: false
                        valid_variable_name_sniff: false
                    objects:
                        object_instantiation_sniff: false
                    operators:
                        comparison_operator_usage_sniff: false
                        increment_decrement_usage_sniff: true
                        valid_logical_operators_sniff: true
                    php:
                        commented_out_code_sniff: false
                        disallow_comparison_assignment_sniff: false
                        disallow_inline_if_sniff: false
                        disallow_multiple_assignments_sniff: false
                        disallow_ob_end_flush_sniff: false
                        disallow_size_functions_in_loops_sniff: true
                        discouraged_functions_sniff: false
                        embedded_php_sniff: false
                        eval_sniff: false
                        forbidden_functions_sniff: true
                        global_keyword_sniff: true
                        heredoc_sniff: false
                        inner_functions_sniff: false
                        lowercase_p_h_p_functions_sniff: true
                        non_executable_code_sniff: false
                    scope:
                        member_var_scope_sniff: true
                        method_scope_sniff: true
                        static_this_usage_sniff: false
                    strings:
                        concatenation_spacing_sniff: false
                        double_quote_usage_sniff: true
                        echoed_strings_sniff: false
                    white_space:
                        cast_spacing_sniff: true
                        control_structure_spacing_sniff: false
                        function_closing_brace_space_sniff: false
                        function_opening_brace_space_sniff: false
                        function_spacing_sniff: false
                        language_construct_spacing_sniff: false
                        logical_operator_spacing_sniff: true
                        member_var_spacing_sniff: false
                        object_operator_spacing_sniff: false
                        operator_spacing_sniff: true
                        scope_closing_brace_sniff: false
                        scope_keyword_spacing_sniff: false
                        semicolon_spacing_sniff: true
                        superfluous_whitespace_sniff: false
                wordpress:
                    arrays:
                        array_declaration_sniff: false
                    classes:
                        valid_class_name_sniff: false
                    files:
                        file_name_sniff: false
                    formatting:
                        multiple_statement_alignment_sniff: false
                    functions:
                        function_call_signature_sniff: false
                        function_declaration_argument_spacing_sniff: false
                    naming_conventions:
                        valid_function_name_sniff: false
                    objects:
                        object_instantiation_sniff: false
                    php:
                        discouraged_functions_sniff: false
                    strings:
                        double_quote_usage_sniff: false
                    white_space:
                        control_structure_spacing_sniff: false
                        operator_spacing_sniff: false
                        php_indent_sniff: false
                    xss:
                        escape_output_sniff: false
                zend:
                    debug:
                        code_analyzer_sniff: false
                    files:
                        closing_tag_sniff: true
                    naming_conventions:
                        valid_variable_name_sniff: false
            standard: custom
            tab_width: 0
        enabled: true
        extensions:
            - php
        filter:
            excluded_paths: {}
            paths:
                - src/*
                - tests/*
    php_cpd:
        enabled: true
        excluded_dirs:
            - docs
            - tests
            - vendor
        filter:
            excluded_paths:
                - tests/*
            paths: {}
        min_lines: 5
        min_tokens: 70
        names:
            - "*.php"
    php_cs_fixer:
        config:
            fixers:
                braces: false
                controls_spaces: false
                elseif: false
                eof_ending: true
                extra_empty_lines: false
                include: false
                indentation: true
                linefeed: true
                php_closing_tag: true
                phpdoc_params: false
                return: false
                short_tag: true
                trailing_spaces: true
                unused_use: false
                visibility: false
            level: custom
        enabled: true
        extensions:
            - php
        filter:
            excluded_paths: {}
            paths:
                - src/*
                - tests/*
    php_hhvm:
        enabled: true
        filter:
            paths:
                - src/*
                - tests/*
    php_loc:
        enabled: true
        excluded_dirs:
            - docs
            - tests
            - vendor
    php_mess_detector:
        config:
            code_size_rules:
                cyclomatic_complexity: false
                excessive_class_complexity: false
                excessive_class_length: false
                excessive_method_length: false
                excessive_parameter_list: false
                excessive_public_count: false
                npath_complexity: false
                too_many_fields: false
                too_many_methods: false
            controversial_rules:
                camel_case_class_name: false
                camel_case_method_name: false
                camel_case_parameter_name: false
                camel_case_property_name: false
                camel_case_variable_name: false
                superglobals: true
            design_rules:
                coupling_between_objects: false
                depth_of_inheritance: false
                eval_expression: true
                exit_expression: true
                goto_statement: true
                number_of_class_children: false
            naming_rules:
                boolean_method_name: false
                constant_naming: false
                constructor_conflict: false
                long_variable:
                    maximum: "40"
                short_method:
                    minimum: "3"
            ruleset: ~
            unused_code_rules:
                unused_formal_parameter: false
                unused_local_variable: false
                unused_private_field: true
                unused_private_method: false
        enabled: true
        extensions:
            - php
        filter:
            excluded_paths:
                - tests/*
            paths: {}
    php_pdepend:
        configuration_file: ~
        enabled: true
        excluded_dirs:
            - docs
            - tests
            - vendor
        filter:
            excluded_paths:
                - tests/*
            paths: {}
        suffixes:
            - php
    sensiolabs_security_checker:
        enabled: true
        filter:
            excluded_paths:
                - tests/*
            paths: {}