Skip to main content

CLI Tools

Auto-generating PHPDoc Annotations

Use the php-compatible-enum-auto-doc CLI tool to automatically generate @method annotations for your enum classes:

# Scan src/ directory (default)
vendor/bin/php-compatible-enum-auto-doc

# Scan a specific directory
vendor/bin/php-compatible-enum-auto-doc app/Enums

# Preview changes without modifying files
vendor/bin/php-compatible-enum-auto-doc --dry-run

Case Style Options

# camelCase (default): hearts()
vendor/bin/php-compatible-enum-auto-doc

# PascalCase: Hearts()
vendor/bin/php-compatible-enum-auto-doc --pascal-case

# snake_case: hearts()
vendor/bin/php-compatible-enum-auto-doc --snake-case

# SCREAMING_SNAKE_CASE: HEARTS()
vendor/bin/php-compatible-enum-auto-doc --screaming-snake-case

The tool scans PHP files for classes that use PhpCompatible\Enum\Enum, extracts protected properties, and updates the class docblock with appropriate @method annotations. Files are listed as they are updated.

Example

Before:

<?php

use PhpCompatible\Enum\Enum;

class Suit extends Enum
{
protected $hearts;
protected $diamonds;
protected $clubs;
protected $spades;
}

After:

<?php

use PhpCompatible\Enum\Enum;
use PhpCompatible\Enum\Value;

/**
* @method static Value hearts()
* @method static Value diamonds()
* @method static Value clubs()
* @method static Value spades()
*/
class Suit extends Enum
{
protected $hearts;
protected $diamonds;
protected $clubs;
protected $spades;
}