Rule phpdoc_order
¶
Annotations in PHPDoc should be ordered in defined sequence.
Configuration¶
order
¶
Sequence in which annotations in PHPDoc should be ordered.
Allowed types: list<string>
Default value: ['param', 'throws', 'return']
Examples¶
Example #1¶
Default configuration.
--- Original
+++ New
<?php
/**
* Hello there!
*
- * @throws Exception|RuntimeException foo
* @custom Test!
- * @return int Return the number of changes.
* @param string $foo
* @param bool $bar Bar
+ * @throws Exception|RuntimeException foo
+ * @return int Return the number of changes.
*/
Example #2¶
With configuration: ['order' => ['param', 'throws', 'return']]
.
--- Original
+++ New
<?php
/**
* Hello there!
*
- * @throws Exception|RuntimeException foo
* @custom Test!
- * @return int Return the number of changes.
* @param string $foo
* @param bool $bar Bar
+ * @throws Exception|RuntimeException foo
+ * @return int Return the number of changes.
*/
Example #3¶
With configuration: ['order' => ['param', 'return', 'throws']]
.
--- Original
+++ New
<?php
/**
* Hello there!
*
- * @throws Exception|RuntimeException foo
* @custom Test!
- * @return int Return the number of changes.
* @param string $foo
* @param bool $bar Bar
+ * @return int Return the number of changes.
+ * @throws Exception|RuntimeException foo
*/
Example #4¶
With configuration: ['order' => ['param', 'custom', 'throws', 'return']]
.
--- Original
+++ New
<?php
/**
* Hello there!
*
+ * @param string $foo
+ * @param bool $bar Bar
+ * @custom Test!
* @throws Exception|RuntimeException foo
- * @custom Test!
* @return int Return the number of changes.
- * @param string $foo
- * @param bool $bar Bar
*/
Rule sets¶
The rule is part of the following rule sets:
@PhpCsFixer with config:
['order' => ['param', 'return', 'throws']]
@Symfony with config:
['order' => ['param', 'return', 'throws']]
References¶
Fixer class: PhpCsFixer\Fixer\Phpdoc\PhpdocOrderFixer
Test class: PhpCsFixer\Tests\Fixer\Phpdoc\PhpdocOrderFixerTest
The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.