build: nodes: analysis: tests: override: - php-scrutinizer-run
before_commands: - "composer install --prefer-source" filter: excluded_paths: [bin/*, vendor/*] tools: php_mess_detector: config: code_size_rules: { cyclomatic_complexity: true, npath_complexity: true, excessive_method_length: true, excessive_class_length: true, excessive_parameter_list: true, excessive_public_count: true, too_many_fields: true, too_many_methods: true, excessive_class_complexity: true } design_rules: { number_of_class_children: true, depth_of_inheritance: true, coupling_between_objects: true } unused_code_rules: { unused_local_variable: true, unused_private_method: true, unused_formal_parameter: true } naming_rules: { short_variable: { minimum: 2 }, long_variable: true, short_method: true, boolean_method_name: true } controversial_rules: { camel_case_class_name: true, camel_case_property_name: true, camel_case_method_name: true, camel_case_parameter_name: true, camel_case_variable_name: true } php_cs_fixer: config: level: all fixers: { indentation: true, trailing_spaces: true, unused_use: true, phpdoc_params: true, visibility: true, return: true, short_tag: true, braces: true, include: true, php_closing_tag: true, extra_empty_lines: true, controls_spaces: true, elseif: true, eof_ending: true } php_analyzer: config: parameter_reference_check: { enabled: false } checkstyle: { enabled: false, no_trailing_whitespace: true, naming: { enabled: true, local_variable: '^[a-z][a-zA-Z0-9]*$', abstract_class_name: ^Abstract|Factory$, utility_class_name: 'Utils?$', constant_name: '^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$', property_name: '^[a-z][a-zA-Z0-9]*$', method_name: '^(?:[a-z]|__)[a-zA-Z0-9]*$', parameter_name: '^[a-z][a-zA-Z0-9]*$', interface_name: '^[A-Z][a-zA-Z0-9]*Interface$', type_name: '^[A-Z][a-zA-Z0-9]*$', exception_name: '^[A-Z][a-zA-Z0-9]*Exception$', isser_method_name: '^(?:is|has|should|may|supports)' } } unreachable_code: { enabled: false } check_access_control: { enabled: false } typo_checks: { enabled: true } check_variables: { enabled: true } check_calls: { enabled: true, too_many_arguments: true, missing_argument: true, argument_type_checks: lenient } suspicious_code: { enabled: true, overriding_parameter: false, overriding_closure_use: false, parameter_closure_use_conflict: false, parameter_multiple_times: false, non_existent_class_in_instanceof_check: false, non_existent_class_in_catch_clause: false, assignment_of_null_return: false, non_commented_switch_fallthrough: false, non_commented_empty_catch_block: false, overriding_private_members: false, use_statement_alias_conflict: false, precedence_in_condition_assignment: false } dead_assignments: { enabled: false } verify_php_doc_comments: { enabled: false, parameters: false, return: false, suggest_more_specific_types: false, ask_for_return_if_not_inferrable: false, ask_for_param_type_annotation: false } loops_must_use_braces: { enabled: false } check_usage_context: { enabled: true, foreach: { value_as_reference: true, traversable: true } } simplify_boolean_return: { enabled: false } phpunit_checks: { enabled: false } reflection_checks: { enabled: false } precedence_checks: { enabled: true, assignment_in_condition: true, comparison_of_bit_result: true } basic_semantic_checks: { enabled: false } unused_code: { enabled: false } deprecation_checks: { enabled: false } useless_function_calls: { enabled: false } metrics_lack_of_cohesion_methods: { enabled: false } metrics_coupling: { enabled: true, stable_code: { namespace_prefixes: { }, classes: { } } } doctrine_parameter_binding: { enabled: false } doctrine_entity_manager_injection: { enabled: false } symfony_request_injection: { enabled: false } doc_comment_fixes: { enabled: false } reflection_fixes: { enabled: false } use_statement_fixes: { enabled: true, remove_unused: true, preserve_multiple: false, preserve_blanklines: false, order_alphabetically: false } php_code_sniffer: config: tab_width: '4' sensiolabs_security_checker: true php_code_coverage: ~ php_cpd: true php_loc: true php_pdepend: true php_sim: true checks: php: verify_property_names: true verify_argument_usable_as_reference: true verify_access_scope_valid: 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 too_many_arguments: true symfony_request_injection: true switch_fallthrough_commented: true sql_injection_vulnerabilities: true simplify_boolean_return: true security_vulnerabilities: true return_in_constructor: true return_doc_comments: true return_doc_comment_if_not_inferrable: true require_scope_for_methods: true require_php_tag_first: true remove_extra_empty_lines: true property_assignments: true properties_in_camelcaps: true precedence_mistakes: true precedence_in_conditions: true phpunit_assertions: true parse_doc_comments: true parameters_in_camelcaps: true parameter_non_unique: true parameter_doc_comments: true param_doc_comment_if_not_inferrable: true overriding_private_members: true overriding_parameter: true non_commented_empty_catch_block: true no_trait_type_hints: true no_trailing_whitespace: true no_short_variable_names: minimum: '3' no_short_open_tag: true no_short_method_names: minimum: '3' no_property_on_interface: true no_non_implemented_abstract_methods: true no_long_variable_names: maximum: '20' no_goto: true no_exit: true no_eval: true no_error_suppression: true no_debug_code: true naming_conventions: local_variable: '^[a-z][a-zA-Z0-9]*$' abstract_class_name: ^Abstract|Factory$ utility_class_name: 'Utils?$' constant_name: '^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$' property_name: '^[a-z][a-zA-Z0-9]*$' method_name: '^(?:[a-z]|__)[a-zA-Z0-9]*$' parameter_name: '^[a-z][a-zA-Z0-9]*$' interface_name: '^[A-Z][a-zA-Z0-9]*Interface$' type_name: '^[A-Z][a-zA-Z0-9]*$' exception_name: '^[A-Z][a-zA-Z0-9]*Exception$' isser_method_name: '^(?:is|has|should|may|supports)' more_specific_types_in_doc_comments: true missing_arguments: true method_calls_on_non_object: true instanceof_class_exists: true foreach_usable_as_reference: true foreach_traversable: true fix_use_statements: remove_unused: true preserve_multiple: false preserve_blanklines: false order_alphabetically: false fix_line_ending: true fix_doc_comments: true encourage_shallow_comparison: true duplication: true deprecated_code_usage: true deadlock_detection_in_loops: true comparison_always_same_result: true code_rating: true closure_use_not_conflicting: true closure_use_modifiable: true check_method_contracts: verify_interface_like_constraints: true verify_documented_constraints: true verify_parent_constraints: true catch_class_exists: true call_to_parent_method: true avoid_superglobals: true avoid_length_functions_in_loops: true avoid_entity_manager_injection: true avoid_duplicate_types: true avoid_closing_tag: true assignment_of_null_return: true argument_type_checks: true