kenny1911 / class-visibility-fixer
0.1.2
2025-03-24 20:16 UTC
Requires
- php: ^8.1
- friendsofphp/php-cs-fixer: ^3.60
Requires (Dev)
- phpunit/phpunit: ^10.0
README
[ English | Русский ]
ClassVisibilityFixer
is an extension for PHP-CS-Fixer that
automatically adds the @api
, @internal
and/or @psalm-internal
annotation to classes.
Installation
composer require --dev kenny1911/class-visibility-fixer
Configure
Add ClassVisibilityFixer
to your PHP-CS-Fixer configuration:
<?php $finder = \PhpCsFixer\Finder::create() ->in(__DIR__); return (new \PhpCsFixer\Config()) ->registerCustomFixers([ new \Kenny1911\ClassVisibilityFixer\ClassVisibilityFixer(), ]) ->setRules([ 'Kenny1911/class_visibility' => true, ]) ->setFinder($finder);
Usage
Then run PHP-CS-Fixer:
vendor/bin/php-cs-fixer fix
Settings
defaultVisibility
— defines which annotation to add by default. Possible values:internal+psalm-internal
(default value) — adds@internal
and@psalm-internal
annotations (including the namespace).internal
— adds only@internal
psalm-internal
— adds only@psalm-internal
(including the namespace of the current class)api
— adds@api
Example
Before:
namespace App\Service; class ExampleClass { // code }
After applying the fixer with the defaultVisibility: api
setting:
namespace App\Service; /** * @api */ class ExampleClass { // code }
After applying the fixer with the defaultVisibility: internal+psalm-internal
setting:
namespace App\Service; /** * @internal * @psalm-internal App\Service */ class ExampleClass { // code }
License
This project is licensed under the MIT License.
Author
Developed by Kenny1911.
Similar Projects
- typhoon/check-visibility-psalm-plugin - A plugin for
Psalm with a similar purpose. It can be used together with
ClassVisibilityFixer
.