Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 1.76 KB

final_internal_class.rst

File metadata and controls

96 lines (66 loc) · 1.76 KB

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_include

Class level annotations tags that must be set in order to fix the class. (case insensitive)

Allowed types: array

Default value: ['@internal']

annotation_exclude

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']

consider_absent_docblock_as_internal_class

Should classes without any DocBlock be fixed to final?

Allowed types: bool

Default value: false

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
 /**
  * @internal
  */
-class Sample
+final class Sample
 {
 }

Example #2

With configuration: ['annotation_include' => ['@Custom'], 'annotation_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:

@PhpCsFixer:risky
Using the @PhpCsFixer:risky rule set will enable the final_internal_class rule with the default config.