
Rule final_internal_class
ΒΆ
Internal classes should be final
.
WarningΒΆ
Using this rule is riskyΒΆ
Changing classes to final
might cause code execution to break.
ConfigurationΒΆ
annotation_exclude
ΒΆ
Warning
This option is deprecated and will be removed in the next major version. Use exclude
to configure PHPDoc annotations tags and attributes.
Class level attribute or annotation 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']
annotation_include
ΒΆ
Warning
This option is deprecated and will be removed in the next major version. Use include
to configure PHPDoc annotations tags and attributes.
Class level attribute or annotation tags that must be set in order to fix the class (case insensitive).
Allowed types: array
Default value: ['@internal']
consider_absent_docblock_as_internal_class
ΒΆ
Whether classes without any DocBlock should be fixed to final.
Allowed types: bool
Default value: false
exclude
ΒΆ
Class level attribute or annotation 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']
include
ΒΆ
Class level attribute or annotation tags that must be set in order to fix the class (case insensitive).
Allowed types: array
Default value: ['internal']
ExamplesΒΆ
Example #1ΒΆ
Default configuration.
--- Original
+++ New
<?php
/**
* @internal
*/
-class Sample
+final class Sample
{
}
Example #2ΒΆ
With configuration: ['include' => ['@Custom'], 'exclude' => ['@not-fix']]
.
--- Original
+++ New
<?php
/**
* @CUSTOM
*/
-class A{}
+final class A{}
/**
* @CUSTOM
* @not-fix
*/
class B{}
Rule setsΒΆ
The rule is part of the following rule set: