services:
    # remove unused "use" statements
    PhpCsFixer\Fixer\Import\NoUnusedImportsFixer: ~

    # order use statements A-Z
    PhpCsFixer\Fixer\Import\OrderedImportsFixer: ~

    # remove leading slash ("\") at imports
    PhpCsFixer\Fixer\Import\NoLeadingImportSlashFixer: ~

    # remove extra spaces from DocBlocks
    PhpCsFixer\Fixer\Comment\NoTrailingWhitespaceInCommentFixer: ~

    # clean empty doc blocks, e.g. after annotation removal
    PhpCsFixer\Fixer\Phpdoc\NoEmptyPhpdocFixer: ~

    # import namespaces for classes, constants and functions
    # configuration: https://github.com/slevomat/coding-standard#slevomatcodingstandardnamespacesreferenceusednamesonly-
    SlevomatCodingStandard\Sniffs\Namespaces\ReferenceUsedNamesOnlySniff:
        searchAnnotations: true
        allowFallbackGlobalFunctions: true
        allowFallbackGlobalConstants: true

    # add spaces between class elements
    PhpCsFixer\Fixer\ClassNotation\ClassAttributesSeparationFixer: ~
