PHPackages                             efureev/php-cs-fixer-1 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. efureev/php-cs-fixer-1

ArchivedApplication[Utility &amp; Helpers](/categories/utility)

efureev/php-cs-fixer-1
======================

A tool to automatically fix PHP code style

v2.13.2(7y ago)0350[2 issues](https://github.com/efureev/PHP-CS-Fixer-1/issues)[2 PRs](https://github.com/efureev/PHP-CS-Fixer-1/pulls)MITPHPPHP ^5.6 || &gt;=7.0 &lt;=7.3

Since Nov 20Pushed 1y agoCompare

[ Source](https://github.com/efureev/PHP-CS-Fixer-1)[ Packagist](https://packagist.org/packages/efureev/php-cs-fixer-1)[ RSS](/packages/efureev-php-cs-fixer-1/feed)WikiDiscussions 2.13 Synced 3d ago

READMEChangelogDependencies (24)Versions (130)Used By (0)

PHP Coding Standards Fixer
==========================

[](#php-coding-standards-fixer)

The PHP Coding Standards Fixer (PHP CS Fixer) tool fixes your code to follow standards; whether you want to follow PHP coding standards as defined in the PSR-1, PSR-2, etc., or other community driven ones like the Symfony one. You can **also** define your (teams) style through configuration.

It can modernize your code (like converting the `pow` function to the `**` operator on PHP 5.6) and (micro) optimize it.

If you are already using a linter to identify coding standards problems in your code, you know that fixing them by hand is tedious, especially on large projects. This tool does not only detect them, but also fixes them for you.

The PHP CS Fixer is maintained on GitHub at bug reports and ideas about new features are welcome there.

You can talk to us at  about the project, configuration, possible improvements, ideas and questions, please visit us!

Requirements
------------

[](#requirements)

PHP needs to be a minimum version of PHP 5.6.0.

Installation
------------

[](#installation)

### Locally

[](#locally)

Download the [php-cs-fixer.phar](https://cs.sensiolabs.org/download/php-cs-fixer-v2.phar) file and store it somewhere on your computer.

### Globally (manual)

[](#globally-manual)

You can run these commands to easily access latest `php-cs-fixer` from anywhere on your system:

```
$ wget https://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -O php-cs-fixer
```

or with specified version:

```
$ wget https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.13.1/php-cs-fixer.phar -O php-cs-fixer
```

or with curl:

```
$ curl -L https://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -o php-cs-fixer
```

then:

```
$ sudo chmod a+x php-cs-fixer
$ sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
```

Then, just run `php-cs-fixer`.

### Globally (Composer)

[](#globally-composer)

To install PHP CS Fixer, [install Composer](https://getcomposer.org/download/) and issue the following command:

```
$ composer global require friendsofphp/php-cs-fixer
```

Then make sure you have the global Composer binaries directory in your `PATH`. This directory is platform-dependent, see [Composer documentation](https://getcomposer.org/doc/03-cli.md#composer-home) for details. Example for some Unix systems:

```
$ export PATH="$PATH:$HOME/.composer/vendor/bin"
```

### Globally (homebrew)

[](#globally-homebrew)

```
$ brew install php-cs-fixer
```

### Locally (PHIVE)

[](#locally-phive)

Install [PHIVE](https://phar.io) and issue the following command:

```
$ phive install php-cs-fixer # use `--global` for global install
```

Update
------

[](#update)

### Locally

[](#locally-1)

The `self-update` command tries to update `php-cs-fixer` itself:

```
$ php php-cs-fixer.phar self-update
```

### Globally (manual)

[](#globally-manual-1)

You can update `php-cs-fixer` through this command:

```
$ sudo php-cs-fixer self-update
```

### Globally (Composer)

[](#globally-composer-1)

You can update `php-cs-fixer` through this command:

```
$ ./composer.phar global update friendsofphp/php-cs-fixer
```

### Globally (homebrew)

[](#globally-homebrew-1)

You can update `php-cs-fixer` through this command:

```
$ brew upgrade php-cs-fixer
```

### Locally (PHIVE)

[](#locally-phive-1)

```
$ phive update php-cs-fixer
```

Usage
-----

[](#usage)

The `fix` command tries to fix as much coding standards problems as possible on a given file or files in a given directory and its subdirectories:

```
$ php php-cs-fixer.phar fix /path/to/dir
$ php php-cs-fixer.phar fix /path/to/file
```

By default `--path-mode` is set to `override`, which means, that if you specify the path to a file or a directory via command arguments, then the paths provided to a `Finder` in config file will be ignored. You can use `--path-mode=intersection`to merge paths from the config file and from the argument:

```
$ php php-cs-fixer.phar fix --path-mode=intersection /path/to/dir
```

The `--format` option for the output format. Supported formats are `txt` (default one), `json`, `xml`, `checkstyle` and `junit`.

NOTE: the output for the following formats are generated in accordance with XML schemas

- `junit` follows the [JUnit xml schema from Jenkins](/doc/junit-10.xsd)
- `checkstyle` follows the common ["checkstyle" xml schema](/doc/checkstyle.xsd)

The `--verbose` option will show the applied rules. When using the `txt` format it will also displays progress notifications.

The `--rules` option limits the rules to apply on the project:

```
$ php php-cs-fixer.phar fix /path/to/project --rules=@PSR2
```

By default the PSR1 and PSR2 rules are used.

The `--rules` option lets you choose the exact rules to apply (the rule names must be separated by a comma):

```
$ php php-cs-fixer.phar fix /path/to/dir --rules=line_ending,full_opening_tag,indentation_type
```

You can also blacklist the rules you don't want by placing a dash in front of the rule name, if this is more convenient, using `-name_of_fixer`:

```
$ php php-cs-fixer.phar fix /path/to/dir --rules=-full_opening_tag,-indentation_type
```

When using combinations of exact and blacklist rules, applying exact rules along with above blacklisted results:

```
$ php php-cs-fixer.phar fix /path/to/project --rules=@Symfony,-@PSR1,-blank_line_before_statement,strict_comparison
```

Complete configuration for rules can be supplied using a `json` formatted string.

```
$ php php-cs-fixer.phar fix /path/to/project --rules='{"concat_space": {"spacing": "none"}}'
```

The `--dry-run` flag will run the fixer without making changes to your files.

The `--diff` flag can be used to let the fixer output all the changes it makes.

The `--diff-format` option allows to specify in which format the fixer should output the changes it makes:

- `udiff`: unified diff format;
- `sbd`: Sebastianbergmann/diff format (default when using --diff without specifying diff-format).

The `--allow-risky` option (pass `yes` or `no`) allows you to set whether risky rules may run. Default value is taken from config file. Risky rule is a rule, which could change code behaviour. By default no risky rules are run.

The `--stop-on-violation` flag stops the execution upon first file that needs to be fixed.

The `--show-progress` option allows you to choose the way process progress is rendered:

- `none`: disables progress output;
- `run-in`: \[deprecated\] simple single-line progress output;
- `estimating`: \[deprecated\] multiline progress output with number of files and percentage on each line. Note that with this option, the files list is evaluated before processing to get the total number of files and then kept in memory to avoid using the file iterator twice. This has an impact on memory usage so using this option is not recommended on very large projects;
- `estimating-max`: \[deprecated\] same as `dots`;
- `dots`: same as `estimating` but using all terminal columns instead of default 80.

If the option is not provided, it defaults to `run-in` unless a config file that disables output is used, in which case it defaults to `none`. This option has no effect if the verbosity of the command is less than `verbose`.

```
$ php php-cs-fixer.phar fix --verbose --show-progress=estimating
```

The command can also read from standard input, in which case it won't automatically fix anything:

```
$ cat foo.php | php php-cs-fixer.phar fix --diff -
```

Finally, if you don't need BC kept on CLI level, you might use PHP\_CS\_FIXER\_FUTURE\_MODE to start using options that would be default in next MAJOR release (unified differ, estimating, full-width progress indicator):

```
$ PHP_CS_FIXER_FUTURE_MODE=1 php php-cs-fixer.phar fix -v --diff
```

Choose from the list of available rules:

- **align\_multiline\_comment**

    Each line of multi-line DocComments must have an asterisk \[PSR-5\] and must be aligned with the first one.

    Configuration options:

    - `comment_type` (`'all_multiline'`, `'phpdocs_like'`, `'phpdocs_only'`): whether to fix PHPDoc comments only (`phpdocs_only`), any multi-line comment whose lines all start with an asterisk (`phpdocs_like`) or any multi-line comment (`all_multiline`); defaults to `'phpdocs_only'`
- **array\_indentation**

    Each element of an array must be indented exactly once.
- **array\_syntax**

    PHP arrays should be declared using the configured syntax.

    Configuration options:

    - `syntax` (`'long'`, `'short'`): whether to use the `long` or `short` array syntax; defaults to `'long'`
- **backtick\_to\_shell\_exec**

    Converts backtick operators to `shell_exec` calls.
- **binary\_operator\_spaces** \[@Symfony\]

    Binary operators should be surrounded by space as configured.

    Configuration options:

    - `align_double_arrow` (`false`, `null`, `true`): whether to apply, remove or ignore double arrows alignment; defaults to `false`. DEPRECATED: use options `operators` and `default` instead
    - `align_equals` (`false`, `null`, `true`): whether to apply, remove or ignore equals alignment; defaults to `false`. DEPRECATED: use options `operators` and `default` instead
    - `default` (`'align'`, `'align_single_space'`, `'align_single_space_minimal'`, `'no_space'`, `'single_space'`, `null`): default fix strategy; defaults to `'single_space'`
    - `operators` (`array`): dictionary of `binary operator` =&gt; `fix strategy`values that differ from the default strategy; defaults to `[]`
- **blank\_line\_after\_namespace** \[@PSR2, @Symfony\]

    There MUST be one blank line after the namespace declaration.
- **blank\_line\_after\_opening\_tag** \[@Symfony\]

    Ensure there is no code on the same line as the PHP open tag and it is followed by a blank line.
- **blank\_line\_before\_return**

    An empty line feed should precede a return statement. DEPRECATED: use `blank_line_before_statement` instead.
- **blank\_line\_before\_statement** \[@Symfony\]

    An empty line feed must precede any configured statement.

    Configuration options:

    - `statements` (a subset of `['break', 'case', 'continue', 'declare','default', 'die', 'do', 'exit', 'for', 'foreach', 'goto', 'if','include', 'include_once', 'require', 'require_once', 'return','switch', 'throw', 'try', 'while', 'yield']`): list of statements which must be preceded by an empty line; defaults to `['break', 'continue','declare', 'return', 'throw', 'try']`
- **braces** \[@PSR2, @Symfony\]

    The body of each structure MUST be enclosed by braces. Braces should be properly placed. Body of braces should be properly indented.

    Configuration options:

    - `allow_single_line_closure` (`bool`): whether single line lambda notation should be allowed; defaults to `false`
    - `position_after_anonymous_constructs` (`'next'`, `'same'`): whether the opening brace should be placed on "next" or "same" line after anonymous constructs (anonymous classes and lambda functions); defaults to `'same'`
    - `position_after_control_structures` (`'next'`, `'same'`): whether the opening brace should be placed on "next" or "same" line after control structures; defaults to `'same'`
    - `position_after_functions_and_oop_constructs` (`'next'`, `'same'`): whether the opening brace should be placed on "next" or "same" line after classy constructs (non-anonymous classes, interfaces, traits, methods and non-lambda functions); defaults to `'next'`
- **cast\_spaces** \[@Symfony\]

    A single space or none should be between cast and variable.

    Configuration options:

    - `space` (`'none'`, `'single'`): spacing to apply between cast and variable; defaults to `'single'`
- **class\_attributes\_separation** \[@Symfony\]

    Class, trait and interface elements must be separated with one blank line.

    Configuration options:

    - `elements` (a subset of `['const', 'method', 'property']`): list of classy elements; 'const', 'method', 'property'; defaults to `['const','method', 'property']`
- **class\_definition** \[@PSR2, @Symfony\]

    Whitespace around the keywords of a class, trait or interfaces definition should be one space.

    Configuration options:

    - `multi_line_extends_each_single_line` (`bool`): whether definitions should be multiline; defaults to `false`; DEPRECATED alias: `multiLineExtendsEachSingleLine`
    - `single_item_single_line` (`bool`): whether definitions should be single line when including a single item; defaults to `false`; DEPRECATED alias: `singleItemSingleLine`
    - `single_line` (`bool`): whether definitions should be single line; defaults to `false`; DEPRECATED alias: `singleLine`
- **class\_keyword\_remove**

    Converts `::class` keywords to FQCN strings.
- **combine\_consecutive\_issets**

    Using `isset($var) &&` multiple times should be done in one call.
- **combine\_consecutive\_unsets**

    Calling `unset` on multiple items should be done in one call.
- **combine\_nested\_dirname** \[@PHP70Migration:risky, @PHP71Migration:risky\]

    Replace multiple nested calls of `dirname` by only one call with second `$level` parameter. Requires PHP &gt;= 7.0.

    *Risky rule: risky when the function ``dirname`` is overridden.*
- **comment\_to\_phpdoc**

    Comments with annotation should be docblock when used on structural elements.

    *Risky rule: risky as new docblocks might mean more, e.g. a Doctrine entity might have a new column in database.*
- **compact\_nullable\_typehint**

    Remove extra spaces in a nullable typehint.
- **concat\_space** \[@Symfony\]

    Concatenation should be spaced according configuration.

    Configuration options:

    - `spacing` (`'none'`, `'one'`): spacing to apply around concatenation operator; defaults to `'none'`
- **date\_time\_immutable**

    Class `DateTimeImmutable` should be used instead of `DateTime`.

    *Risky rule: risky when the code relies on modifying ``DateTime`` objects or if any of the ``date\_create\*`` functions are overridden.*
- **declare\_equal\_normalize** \[@Symfony\]

    Equal sign in declare statement should be surrounded by spaces or not following configuration.

    Configuration options:

    - `space` (`'none'`, `'single'`): spacing to apply around the equal sign; defaults to `'none'`
- **declare\_strict\_types** \[@PHP70Migration:risky, @PHP71Migration:risky\]

    Force strict types declaration in all files. Requires PHP &gt;= 7.0.

    *Risky rule: forcing strict types will stop non strict code from working.*
- **dir\_constant** \[@Symfony:risky\]

    Replaces `dirname(__FILE__)` expression with equivalent `__DIR__`constant.

    *Risky rule: risky when the function ``dirname`` is overridden.*
- **doctrine\_annotation\_array\_assignment** \[@DoctrineAnnotation\]

    Doctrine annotations must use configured operator for assignment in arrays.

    Configuration options:

    - `ignored_tags` (`array`): list of tags that must not be treated as Doctrine Annotations; defaults to `['abstract', 'access', 'code', 'deprec','encode', 'exception', 'final', 'ingroup', 'inheritdoc', 'inheritDoc','magic', 'name', 'toc', 'tutorial', 'private', 'static', 'staticvar','staticVar', 'throw', 'api', 'author', 'category', 'copyright','deprecated', 'example', 'filesource', 'global', 'ignore', 'internal','license', 'link', 'method', 'package', 'param', 'property','property-read', 'property-write', 'return', 'see', 'since', 'source','subpackage', 'throws', 'todo', 'TODO', 'usedBy', 'uses', 'var','version', 'after', 'afterClass', 'backupGlobals','backupStaticAttributes', 'before', 'beforeClass','codeCoverageIgnore', 'codeCoverageIgnoreStart','codeCoverageIgnoreEnd', 'covers', 'coversDefaultClass','coversNothing', 'dataProvider', 'depends', 'expectedException','expectedExceptionCode', 'expectedExceptionMessage','expectedExceptionMessageRegExp', 'group', 'large', 'medium','preserveGlobalState', 'requires', 'runTestsInSeparateProcesses','runInSeparateProcess', 'small', 'test', 'testdox', 'ticket', 'uses','SuppressWarnings', 'noinspection', 'package_version', 'enduml','startuml', 'fix', 'FIXME', 'fixme', 'override']`
    - `operator` (`':'`, `'='`): the operator to use; defaults to `'='`
- **doctrine\_annotation\_braces** \[@DoctrineAnnotation\]

    Doctrine annotations without arguments must use the configured syntax.

    Configuration options:

    - `ignored_tags` (`array`): list of tags that must not be treated as Doctrine Annotations; defaults to `['abstract', 'access', 'code', 'deprec','encode', 'exception', 'final', 'ingroup', 'inheritdoc', 'inheritDoc','magic', 'name', 'toc', 'tutorial', 'private', 'static', 'staticvar','staticVar', 'throw', 'api', 'author', 'category', 'copyright','deprecated', 'example', 'filesource', 'global', 'ignore', 'internal','license', 'link', 'method', 'package', 'param', 'property','property-read', 'property-write', 'return', 'see', 'since', 'source','subpackage', 'throws', 'todo', 'TODO', 'usedBy', 'uses', 'var','version', 'after', 'afterClass', 'backupGlobals','backupStaticAttributes', 'before', 'beforeClass','codeCoverageIgnore', 'codeCoverageIgnoreStart','codeCoverageIgnoreEnd', 'covers', 'coversDefaultClass','coversNothing', 'dataProvider', 'depends', 'expectedException','expectedExceptionCode', 'expectedExceptionMessage','expectedExceptionMessageRegExp', 'group', 'large', 'medium','preserveGlobalState', 'requires', 'runTestsInSeparateProcesses','runInSeparateProcess', 'small', 'test', 'testdox', 'ticket', 'uses','SuppressWarnings', 'noinspection', 'package_version', 'enduml','startuml', 'fix', 'FIXME', 'fixme', 'override']`
    - `syntax` (`'with_braces'`, `'without_braces'`): whether to add or remove braces; defaults to `'without_braces'`
- **doctrine\_annotation\_indentation** \[@DoctrineAnnotation\]

    Doctrine annotations must be indented with four spaces.

    Configuration options:

    - `ignored_tags` (`array`): list of tags that must not be treated as Doctrine Annotations; defaults to `['abstract', 'access', 'code', 'deprec','encode', 'exception', 'final', 'ingroup', 'inheritdoc', 'inheritDoc','magic', 'name', 'toc', 'tutorial', 'private', 'static', 'staticvar','staticVar', 'throw', 'api', 'author', 'category', 'copyright','deprecated', 'example', 'filesource', 'global', 'ignore', 'internal','license', 'link', 'method', 'package', 'param', 'property','property-read', 'property-write', 'return', 'see', 'since', 'source','subpackage', 'throws', 'todo', 'TODO', 'usedBy', 'uses', 'var','version', 'after', 'afterClass', 'backupGlobals','backupStaticAttributes', 'before', 'beforeClass','codeCoverageIgnore', 'codeCoverageIgnoreStart','codeCoverageIgnoreEnd', 'covers', 'coversDefaultClass','coversNothing', 'dataProvider', 'depends', 'expectedException','expectedExceptionCode', 'expectedExceptionMessage','expectedExceptionMessageRegExp', 'group', 'large', 'medium','preserveGlobalState', 'requires', 'runTestsInSeparateProcesses','runInSeparateProcess', 'small', 'test', 'testdox', 'ticket', 'uses','SuppressWarnings', 'noinspection', 'package_version', 'enduml','startuml', 'fix', 'FIXME', 'fixme', 'override']`
    - `indent_mixed_lines` (`bool`): whether to indent lines that have content before closing parenthesis; defaults to `false`
- **doctrine\_annotation\_spaces** \[@DoctrineAnnotation\]

    Fixes spaces in Doctrine annotations.

    Configuration options:

    - `after_argument_assignments` (`null`, `bool`): whether to add, remove or ignore spaces after argument assignment operator; defaults to `false`
    - `after_array_assignments_colon` (`null`, `bool`): whether to add, remove or ignore spaces after array assignment `:` operator; defaults to `true`
    - `after_array_assignments_equals` (`null`, `bool`): whether to add, remove or ignore spaces after array assignment `=` operator; defaults to `true`
    - `around_argument_assignments` (`bool`): whether to fix spaces around argument assignment operator; defaults to `true`. DEPRECATED: use options `before_argument_assignments` and `after_argument_assignments` instead
    - `around_array_assignments` (`bool`): whether to fix spaces around array assignment operators; defaults to `true`. DEPRECATED: use options `before_array_assignments_equals`, `after_array_assignments_equals`, `before_array_assignments_colon` and `after_array_assignments_colon`instead
    - `around_commas` (`bool`): whether to fix spaces around commas; defaults to `true`
    - `around_parentheses` (`bool`): whether to fix spaces around parentheses; defaults to `true`
    - `before_argument_assignments` (`null`, `bool`): whether to add, remove or ignore spaces before argument assignment operator; defaults to `false`
    - `before_array_assignments_colon` (`null`, `bool`): whether to add, remove or ignore spaces before array `:` assignment operator; defaults to `true`
    - `before_array_assignments_equals` (`null`, `bool`): whether to add, remove or ignore spaces before array `=` assignment operator; defaults to `true`
    - `ignored_tags` (`array`): list of tags that must not be treated as Doctrine Annotations; defaults to `['abstract', 'access', 'code', 'deprec','encode', 'exception', 'final', 'ingroup', 'inheritdoc', 'inheritDoc','magic', 'name', 'toc', 'tutorial', 'private', 'static', 'staticvar','staticVar', 'throw', 'api', 'author', 'category', 'copyright','deprecated', 'example', 'filesource', 'global', 'ignore', 'internal','license', 'link', 'method', 'package', 'param', 'property','property-read', 'property-write', 'return', 'see', 'since', 'source','subpackage', 'throws', 'todo', 'TODO', 'usedBy', 'uses', 'var','version', 'after', 'afterClass', 'backupGlobals','backupStaticAttributes', 'before', 'beforeClass','codeCoverageIgnore', 'codeCoverageIgnoreStart','codeCoverageIgnoreEnd', 'covers', 'coversDefaultClass','coversNothing', 'dataProvider', 'depends', 'expectedException','expectedExceptionCode', 'expectedExceptionMessage','expectedExceptionMessageRegExp', 'group', 'large', 'medium','preserveGlobalState', 'requires', 'runTestsInSeparateProcesses','runInSeparateProcess', 'small', 'test', 'testdox', 'ticket', 'uses','SuppressWarnings', 'noinspection', 'package_version', 'enduml','startuml', 'fix', 'FIXME', 'fixme', 'override']`
- **elseif** \[@PSR2, @Symfony\]

    The keyword `elseif` should be used instead of `else if` so that all control keywords look like single words.
- **encoding** \[@PSR1, @PSR2, @Symfony\]

    PHP code MUST use only UTF-8 without BOM (remove BOM).
- **ereg\_to\_preg** \[@Symfony:risky\]

    Replace deprecated `ereg` regular expression functions with `preg`.

    *Risky rule: risky if the ``ereg`` function is overridden.*
- **error\_suppression** \[@Symfony:risky\]

    Error control operator should be added to deprecation notices and/or removed from other cases.

    *Risky rule: risky because adding/removing ``@`` might cause changes to code behaviour or if ``trigger\_error`` function is overridden.*

    Configuration options:

    - `mute_deprecation_error` (`bool`): whether to add `@` in deprecation notices; defaults to `true`
    - `noise_remaining_usages` (`bool`): whether to remove `@` in remaining usages; defaults to `false`
    - `noise_remaining_usages_exclude` (`array`): list of global functions to exclude from removing `@`; defaults to `[]`
- **escape\_implicit\_backslashes**

    Escape implicit backslashes in strings and heredocs to ease the understanding of which are special chars interpreted by PHP and which not.

    Configuration options:

    - `double_quoted` (`bool`): whether to fix double-quoted strings; defaults to `true`
    - `heredoc_syntax` (`bool`): whether to fix heredoc syntax; defaults to `true`
    - `single_quoted` (`bool`): whether to fix single-quoted strings; defaults to `false`
- **explicit\_indirect\_variable**

    Add curly braces to indirect variables to make them clear to understand. Requires PHP &gt;= 7.0.
- **explicit\_string\_variable**

    Converts implicit variables into explicit ones in double-quoted strings or heredoc syntax.
- **final\_internal\_class**

    Internal classes should be `final`.

    *Risky rule: changing classes to ``final`` might cause code execution to break.*

    Configuration options:

    - `annotation-black-list` (`array`): class level annotations tags that must be omitted to fix the class, even if all of the white list ones are used as well. (case insensitive); defaults to `['@final', '@Entity', '@ORM']`
    - `annotation-white-list` (`array`): class level annotations tags that must be set in order to fix the class. (case insensitive); defaults to `['@internal']`
- **fopen\_flag\_order** \[@Symfony:risky\]

    Order the flags in `fopen` calls, `b` and `t` must be last.

    *Risky rule: risky when the function ``fopen`` is overridden.*
- **fopen\_flags** \[@Symfony:risky\]

    The flags in `fopen` calls must contain `b` and must omit `t`.

    *Risky rule: risky when the function ``fopen`` is overridden.*
- **full\_opening\_tag** \[@PSR1, @PSR2, @Symfony\]

    PHP code must use the long `
