Fork me on GitHub
a Sensio Labs Product

I ate three cookies πŸͺ (v3.40.2) edition

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:

Source classΒΆ

PhpCsFixer\Fixer\ClassNotation\FinalInternalClassFixer