kenny1911 / class-visibility-fixer
Installs: 903
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/kenny1911/class-visibility-fixer
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@internaland@psalm-internalannotations (including the namespace).internal— adds only@internalpsalm-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.