konradmichalik/php-doc-block-header-fixer

0.1.0 2025-08-08 08:12 UTC

This package is not auto-updated.

Last update: 2025-08-12 12:07:00 UTC


README

Php DocBlock Header Fixer

Coverage CGL Tests Supported PHP Versions

This packages contains a PHP-CS-Fixer rule to automatically fix the class header regarding PHP DocBlocks.

Warning

This package is in early development stage and may change significantly in the future. Use it at your own risk.

Before:

<?php

class MyClass
{
    public function myMethod()
    {
        // ...
    }
}

After:

<?php
/**
 * MyClass.
 *
 * @author Your Name <your@email.org>
 * @package MyPackage
 */
class MyClass
{
    // ...
}

🔥 Installation

Packagist Packagist Downloads

composer require --dev konradmichalik/php-doc-block-header-fixer

⚡ Usage

Add the PHP-CS-Fixer rule in your .php-cs-fixer.php file:

<?php
// ...
return (new PhpCsFixer\Config())
    // ...
    ->registerCustomFixers([
        new KonradMichalik\PhpDocBlockHeaderFixer\Rules\DocBlockHeaderFixer()
    ])
    ->setRules([
        'KonradMichalik/docblock_header_comment' => [
            'annotations' => [
                'author' => 'Konrad Michalik <hej@konradmichalik.dev>',
                'license' => 'GPL-3.0-or-later',
                'package' => 'PhpDocBlockHeaderFixer',
            ],
            'preserve_existing' => true,
            'separate' => 'none',
            'add_class_name' => true,
        ],
    ])
;

Alternatively, you can use a object-oriented configuration:

<?php
// ...
return (new PhpCsFixer\Config())
    // ...
    ->registerCustomFixers([
        new KonradMichalik\PhpDocBlockHeaderFixer\Rules\DocBlockHeaderFixer()
    ])
    ->setRules([
        KonradMichalik\PhpDocBlockHeaderFixer\Generators\DocBlockHeader::create(
            [
                'author' => 'Konrad Michalik <hej@konradmichalik.dev>',
                'license' => 'GPL-3.0-or-later',
                'package' => 'PhpDocBlockHeaderFixer',
            ],
            preserveExisting: true,
            separate: \KonradMichalik\PhpDocBlockHeaderFixer\Enum\Separate::None,
            addClassName: true
        )->__toArray()
    ])
;

🧑‍💻 Contributing

Please have a look at CONTRIBUTING.md.

⭐ License

This project is licensed under GNU General Public License 3.0 (or later).