1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- ===========================
- Rule ``ordered_attributes``
- ===========================
- Sorts attributes using the configured sort algorithm.
- Configuration
- -------------
- ``order``
- ~~~~~~~~~
- A list of FQCNs of attributes defining the desired order used when custom
- sorting algorithm is configured.
- Allowed types: ``list<string>``
- Default value: ``[]``
- ``sort_algorithm``
- ~~~~~~~~~~~~~~~~~~
- How the attributes should be sorted.
- Allowed values: ``'alpha'`` and ``'custom'``
- Default value: ``'alpha'``
- Examples
- --------
- Example #1
- ~~~~~~~~~~
- *Default* configuration.
- .. code-block:: diff
- --- Original
- +++ New
- <?php
- +#[Bar(3)]
- +#[Corge(a: 'test')]
- #[Foo]
- -#[Bar(3)]
- #[Qux(new Bar(5))]
- -#[Corge(a: 'test')]
- class Sample1 {}
- #[
- + Bar(3),
- + Corge(a: 'test'),
- Foo,
- - Bar(3),
- Qux(new Bar(5)),
- - Corge(a: 'test'),
- ]
- class Sample2 {}
- Example #2
- ~~~~~~~~~~
- With configuration: ``['sort_algorithm' => 'custom', 'order' => ['A\\B\\Qux', 'A\\B\\Bar', 'A\\B\\Corge']]``.
- .. code-block:: diff
- --- Original
- +++ New
- <?php
- use A\B\Foo;
- use A\B\Bar as BarAlias;
- use A\B as AB;
- -#[Foo]
- +#[AB\Qux(new Bar(5))]
- #[BarAlias(3)]
- -#[AB\Qux(new Bar(5))]
- #[\A\B\Corge(a: 'test')]
- +#[Foo]
- class Sample1 {}
- References
- ----------
- - Fixer class: `PhpCsFixer\\Fixer\\AttributeNotation\\OrderedAttributesFixer <./../../../src/Fixer/AttributeNotation/OrderedAttributesFixer.php>`_
- - Test class: `PhpCsFixer\\Tests\\Fixer\\AttributeNotation\\OrderedAttributesFixerTest <./../../../tests/Fixer/AttributeNotation/OrderedAttributesFixerTest.php>`_
- The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.
|