# .scrutinizer.yml #build: # - php-scrutinizer-run build: nodes: analysis: tests: override: - command: php-scrutinizer-run idle_timeout: 8000 #- php-scrutinizer-run --sub-project-dir=htdocs/admin imports: - php filter: excluded_paths: - build/ - dev/ - doc/ - documents/ - node_modules/ - test/ - htdocs/custom/ - htdocs/includes/ - htdocs/install/doctemplates/ #dependency_paths: # - htdocs/includes/ paths: - htdocs/* - scripts/* tools: # php_analyzer. Doc on https://scrutinizer-ci.com/docs/tools/php/php-analyzer/ php_analyzer: enabled: true extensions: - php #dependency_paths: # - htdocs/includes/ filter: excluded_paths: - build/ - dev/ - doc/ - documents/ - htdocs/custom/ - htdocs/includes/ - htdocs/install/doctemplates/ - htdocs/core/class/lessc.class.php - node_modules/ - test/ paths: - htdocs/* - scripts/* config: parameter_reference_check: enabled: true 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: true check_access_control: enabled: true typo_checks: enabled: true check_variables: enabled: true check_calls: enabled: true too_many_arguments: true missing_argument: true argument_type_checks: lenient # Allowed Values: "disabled", "lenient", "strict" suspicious_code: enabled: true overriding_parameter: false overriding_closure_use: true parameter_closure_use_conflict: true parameter_multiple_times: true non_existent_class_in_instanceof_check: true non_existent_class_in_catch_clause: true assignment_of_null_return: true non_commented_switch_fallthrough: true non_commented_empty_catch_block: true overriding_private_members: true use_statement_alias_conflict: true precedence_in_condition_assignment: true dead_assignments: enabled: true verify_php_doc_comments: enabled: false parameters: true return: true suggest_more_specific_types: true ask_for_return_if_not_inferrable: true ask_for_param_type_annotation: true loops_must_use_braces: enabled: true check_usage_context: enabled: true simplify_boolean_return: enabled: false phpunit_checks: enabled: false reflection_checks: enabled: true # Checks Common Precedence Mistakes precedence_checks: enabled: true assignment_in_condition: true comparison_of_bit_result: true basic_semantic_checks: enabled: true # Disabled unused code. In most cases, we want to keep it. unused_code: enabled: false deprecation_checks: enabled: true useless_function_calls: enabled: true metrics_lack_of_cohesion_methods: enabled: true 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: true reflection_fixes: enabled: false use_statement_fixes: enabled: true remove_unused: true # Whether you would like multiple imports in one USE statement to be preserved, e.g. ``use A, B;``. preserve_multiple: false # Whether you would like to preserve blank lines between use statements. preserve_blanklines: false order_alphabetically: false # To use specific config for a specific path, use path_configs: (see example on page https://scrutinizer-ci.com/docs/configuration/tool_config_structure) # php_depend #php_pdepend: # enabled: false # configuration_file: null # suffixes: # - php # excluded_dirs: { } # filter: # excluded_paths: # - 'build/*' # - 'dev/*' # - 'doc/*' # - 'test/*' # - 'htdocs/includes/*' # paths: { } # change tracking #php_changetracking: # enabled: false # bug_patterns: # - '\bfix(?:es|ed)?\b' # feature_patterns: # - '\badd(?:s|ed)?\b' # - '\bimplement(?:s|ed)?\b' # filter: # excluded_paths: # - 'build/*' # - 'dev/*' # - 'doc/*' # - 'documents/*' # - 'htdocs/includes/*' # - 'node_modules/*' # - 'test/*' # paths: { } # Similar code detection #php_sim: # enabled: false # min_mass: 30 # filter: # excluded_paths: # - 'build/*' # - 'dev/*' # - 'doc/*' # - 'documents/*' # - 'htdocs/includes/*' # - 'node_modules/*' # - 'test/*' # paths: { } # Coding-Style / Bug Detection #js_hint: # enabled: false # use_native_config: true # extensions: # - js # filter: # excluded_paths: # - 'build/*' # - 'dev/*' # - 'doc/*' # - 'documents/*' # - 'htdocs/includes/*' # - 'node_modules/*' # - 'test/*' # paths: { } # config: { } # path_configs: { } before_commands: { } after_commands: { } artifacts: { } build_failure_conditions: { }
# language: php checks: php: verify_property_names: false require_scope_for_methods: false fix_doc_comments: true no_goto: true fix_use_statements: remove_unused: true preserve_multiple: false preserve_blanklines: false order_alphabetically: false coding_style: php: indentation: general: use_tabs: true size: 4 switch: indent_case: true spaces: general: linefeed_character: newline before_parentheses: function_declaration: false closure_definition: false function_call: false if: true for: true while: true switch: true catch: true array_initializer: false around_operators: assignment: true logical: true equality: true relational: true bitwise: true additive: true multiplicative: true shift: true unary_additive: false concatenation: false negation: false before_left_brace: class: true function: true if: true else: true for: true while: true do: true switch: true try: true catch: true finally: true before_keywords: else: true while: true catch: true finally: true within: brackets: false array_initializer: false grouping: false function_call: false function_declaration: false if: false for: false while: false switch: false catch: false type_cast: false ternary_operator: before_condition: true after_condition: true before_alternative: true after_alternative: true in_short_version: false other: before_comma: false after_comma: true before_semicolon: false after_semicolon: true after_type_cast: true braces: classes_functions: class: undefined function: undefined closure: undefined if: opening: undefined always: true else_on_new_line: false for: opening: undefined always: true while: opening: undefined always: true do_while: opening: undefined always: true while_on_new_line: false switch: opening: undefined try: opening: undefined catch_on_new_line: false finally_on_new_line: false upper_lower_casing: keywords: general: lower constants: true_false_null: undefined