{
    "preset": "per",
    "exclude": [
        "application/views/**/pdf/",
        "resources",
        "storage"
    ],
    "rules": {
        "@PSR12": true,
        "align_multiline_comment": true,
        "array_indentation": true,
        "array_syntax": {
            "syntax": "short"
        },
        "assign_null_coalescing_to_coalesce_equal": true,
        "binary_operator_spaces": {
            "default": "single_space",
            "operators": {
                "=": "align_single_space_minimal",
                "=>": "align_single_space_minimal"
            }
        },
        "blank_line_after_namespace": true,
        "blank_line_after_opening_tag": true,
        "blank_line_before_statement": {
            "statements": [
                "return"
            ]
        },
        "cast_spaces": true,
        "class_attributes_separation": {
            "elements": {
                "const": "one",
                "method": "one",
                "property": "one"
            }
        },
        "combine_consecutive_issets": true,
        "combine_consecutive_unsets": true,
        "concat_space": {
            "spacing": "one"
        },
        "declare_parentheses": true,
        "declare_strict_types": false,
        "explicit_indirect_variable": true,
        "explicit_string_variable": true,
        "final_class": true,
        "fully_qualified_strict_types": false,
        "function_typehint_space": true,
        "global_namespace_import": {
            "import_classes": true,
            "import_constants": true,
            "import_functions": true
        },
        "include": true,
        "increment_style": {
            "style": "post"
        },
        "is_null": true,
        "lambda_not_used_import": true,
        "logical_operators": true,
        "mb_str_functions": true,
        "method_argument_space": {
            "on_multiline": "ensure_fully_multiline"
        },
        "method_chaining_indentation": true,
        "modernize_strpos": true,
        "modernize_types_casting": true,
        "multiline_whitespace_before_semicolons": true,
        "native_function_casing": true,
        "new_with_braces": true,
        "no_blank_lines_after_phpdoc": true,
        "no_empty_comment": true,
        "no_empty_phpdoc": true,
        "no_empty_statement": true,
        "no_extra_blank_lines": {
            "tokens": [
                "curly_brace_block",
                "extra",
                "parenthesis_brace_block",
                "square_brace_block",
                "throw",
                "use"
            ]
        },
        "no_leading_namespace_whitespace": true,
        "no_mixed_echo_print": {
            "use": "echo"
        },
        "no_multiline_whitespace_around_double_arrow": true,
        "no_short_bool_cast": true,
        "no_singleline_whitespace_before_semicolons": true,
        "no_spaces_around_offset": true,
        "no_superfluous_elseif": true,
        "no_trailing_comma_in_list_call": true,
        "no_unneeded_control_parentheses": true,
        "no_unused_imports": true,
        "no_useless_else": true,
        "no_useless_return": true,
        "no_whitespace_before_comma_in_array": true,
        "normalize_index_brace": true,
        "not_operator_with_space": true,
        "nullable_type_declaration_for_default_null_value": true,
        "object_operator_without_whitespace": true,
        "ordered_class_elements": {
            "order": [
                "use_trait",
                "case",
                "constant",
                "constant_public",
                "constant_protected",
                "constant_private",
                "property_public",
                "property_protected",
                "property_private",
                "construct",
                "destruct",
                "magic",
                "phpunit",
                "method_abstract",
                "method_public_static",
                "method_public",
                "method_protected_static",
                "method_protected",
                "method_private_static",
                "method_private"
            ],
            "sort_algorithm": "none"
        },
        "ordered_imports": {
            "sort_algorithm": "alpha"
        },
        "ordered_traits": true,
        "phpdoc_align": true,
        "phpdoc_annotation_without_dot": true,
        "phpdoc_indent": true,
        "phpdoc_no_access": true,
        "phpdoc_no_alias_tag": true,
        "phpdoc_no_empty_return": false,
        "phpdoc_no_package": true,
        "phpdoc_no_useless_inheritdoc": true,
        "phpdoc_return_self_reference": true,
        "phpdoc_scalar": true,
        "phpdoc_separation": true,
        "phpdoc_single_line_var_spacing": true,
        "phpdoc_summary": true,
        "phpdoc_to_comment": true,
        "phpdoc_trim": true,
        "phpdoc_types": true,
        "phpdoc_var_without_name": true,
        "protected_to_private": true,
        "self_accessor": true,
        "simplified_if_return": true,
        "simplified_null_return": true,
        "single_line_comment_style": false,
        "single_quote": true,
        "space_after_semicolon": true,
        "standardize_not_equals": true,
        "strict_comparison": false,
        "ternary_to_null_coalescing": true,
        "trailing_comma_in_multiline": {
            "elements": [
                "arrays"
            ]
        },
        "trim_array_spaces": true,
        "use_arrow_functions": false,
        "void_return": false,
        "whitespace_after_comma_in_array": true,
        "yoda_style": false
    }
}
