Internal classes should be final
.
Changing classes to final
might cause code execution to break.
Class level annotations tags that must be set in order to fix the class. (case insensitive)
Allowed types: array
Default value: ['@internal']
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)
Allowed types: array
Default value: ['@final', '@Entity', '@ORM\\Entity', '@ORM\\Mapping\\Entity', '@Mapping\\Entity', '@Document', '@ODM\\Document']
Should classes without any DocBlock be fixed to final?
Allowed types: bool
Default value: false
Default configuration.
--- Original
+++ New
<?php
/**
* @internal
*/
-class Sample
+final class Sample
{
}
With configuration: ['annotation_include' => ['@Custom'], 'annotation_exclude' => ['@not-fix']]
.
--- Original
+++ New
<?php
/**
* @CUSTOM
*/
-class A{}
+final class A{}
/**
* @CUSTOM
* @not-fix
*/
class B{}
The rule is part of the following rule set:
- @PhpCsFixer:risky
- Using the @PhpCsFixer:risky rule set will enable the
final_internal_class
rule with the default config.