Menü schliessen
Created: January 3rd 2026
Last updated: January 3rd 2026
Categories: IT Development,  Laravel,  Laravel Package
Author: Miljan Puzovic

What is Laravel Pint and which settings to use?

Laravel Pint is an opinionated PHP code style fixer for minimalists. Pint is built on top of PHP-CS-Fixer and makes it simple to ensure that your code style stays clean and consistent.

But if you're worked with Laravel most probably you've already used it either in your console only or in GitHub Actions. Our focus here is on the specific rules which can be defined in pint.json file. Here I will share with you the content of my pint.json file:


{
    "preset": "psr12",
    "exclude": ["lang"],
    "rules": {
        "single_quote": true,
        "array_syntax": {
            "syntax": "short"
        },
        "no_useless_else": true,
        "binary_operator_spaces": {
            "default": "single_space",
            "operators": {
                "=": "align_single_space",
                "=>": "align_single_space"
            }
        },
        "curly_braces_position": {
            "classes_opening_brace": "next_line_unless_newline_at_signature_end",
            "anonymous_classes_opening_brace": "next_line_unless_newline_at_signature_end",
            "anonymous_functions_opening_brace": "same_line"
        },
        "new_with_braces": {
            "anonymous_class": false
        },
        "blank_line_after_namespace": true,
        "trim_array_spaces": true,
        "type_declaration_spaces": true,
        "types_spaces": true,
        "unary_operator_spaces": true,
        "whitespace_after_comma_in_array": true,
        "blank_line_after_opening_tag": true,
        "blank_line_before_statement": {
            "statements": ["continue", "return"]
        },
        "blank_line_between_import_groups": true,
        "cast_spaces": true,
        "class_attributes_separation": {
            "elements": {
                "const": "none",
                "method": "one",
                "property": "none",
                "trait_import": "none"
            }
        },
        "class_definition": {
            "multi_line_extends_each_single_line": true,
            "single_item_single_line": true,
            "single_line": true
        },
        "clean_namespace": true,
        "compact_nullable_type_declaration": true,
        "concat_space": {
            "spacing": "one"
        },
        "control_structure_braces": true,
        "control_structure_continuation_position": {
            "position": "same_line"
        },
        "declare_equal_normalize": true,
        "declare_parentheses": true,
        "encoding": true,
        "full_opening_tag": true,
        "fully_qualified_strict_types": {
            "import_symbols": true
        },
        "function_declaration": true,
        "indentation_type": true,
        "integer_literal_case": true,
        "line_ending": true,
        "linebreak_after_opening_tag": true,
        "method_argument_space": {
            "on_multiline": "ignore"
        },
        "method_chaining_indentation": true,
        "multiline_whitespace_before_semicolons": {
            "strategy": "no_multi_line"
        },
        "native_function_casing": true,
        "native_type_declaration_casing": true,
        "no_alternative_syntax": true,
        "no_blank_lines_after_class_opening": true,
        "no_closing_tag": true,
        "no_empty_statement": true,
        "no_extra_blank_lines": {
            "tokens": ["extra", "throw", "use"]
        },
        "no_leading_namespace_whitespace": true,
        "no_mixed_echo_print": {
            "use": "echo"
        },
        "no_multiline_whitespace_around_double_arrow": true,
        "no_multiple_statements_per_line": true,
        "no_short_bool_cast": true,
        "no_singleline_whitespace_before_semicolons": true,
        "no_space_around_double_colon": true,
        "no_spaces_after_function_name": true,
        "no_spaces_around_offset": {
            "positions": ["inside", "outside"]
        },
        "no_trailing_comma_in_singleline": true,
        "no_trailing_whitespace": true,
        "no_trailing_whitespace_in_comment": true,
        "no_unneeded_control_parentheses": {
            "statements": [
                "break",
                "clone",
                "continue",
                "echo_print",
                "return",
                "switch_case",
                "yield"
            ]
        },
        "no_unneeded_braces": true,
        "no_unreachable_default_argument_value": true,
        "no_unset_cast": true,
        "no_unused_imports": true,
        "no_useless_return": true,
        "no_whitespace_before_comma_in_array": true,
        "no_whitespace_in_blank_line": true,
        "normalize_index_brace": true,
        "not_operator_with_successor_space": false,
        "nullable_type_declaration": true,
        "nullable_type_declaration_for_default_null_value": true,
        "object_operator_without_whitespace": true,
        "phpdoc_indent": true,
        "phpdoc_inline_tag_normalizer": true,
        "phpdoc_no_access": true,
        "phpdoc_no_package": true,
        "phpdoc_no_useless_inheritdoc": true,
        "phpdoc_order": {
            "order": ["param", "return", "throws"]
        },
        "phpdoc_scalar": true,
        "phpdoc_single_line_var_spacing": true,
        "phpdoc_summary": false,
        "phpdoc_tag_type": {
            "tags": {
                "inheritdoc": "inline"
            }
        },
        "phpdoc_to_comment": false,
        "phpdoc_trim": true,
        "phpdoc_types": true,
        "phpdoc_var_without_name": true,
        "return_type_declaration": {
            "space_before": "none"
        },
        "self_accessor": false,
        "self_static_accessor": true,
        "short_scalar_cast": true,
        "simplified_null_return": false,
        "single_space_around_construct": true,
        "space_after_semicolon": true,
        "spaces_inside_parentheses": true,
        "standardize_not_equals": true,
        "statement_indentation": true,
        "switch_case_semicolon_to_colon": true,
        "switch_case_space": true,
        "ternary_operator_spaces": true
    }
}