kenny1911/class-visibility-fixer

0.1.2 2025-03-24 20:16 UTC

This package is auto-updated.

Last update: 2025-04-24 20:34:09 UTC


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