phpsoftbox / code-generator
Code generator helpers for the PhpSoftBox framework
Installs: 1
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/phpsoftbox/code-generator
Requires
- php: ^8.4
- phpsoftbox/cli-app: dev-master
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.93
- phpsoftbox/cs-fixer: ^1.0.1
- phpunit/phpunit: ^11.2
This package is auto-updated.
Last update: 2026-02-10 18:39:32 UTC
README
About
phpsoftbox/code-generator — набор утилит для генерации кода и базовых CLI-команд. Включает AbstractMakeCommandHandler, CodeGenerator, GeneratorTarget и FileWriter.
Quick Start
use PhpSoftBox\CodeGenerator\Cli\AbstractMakeCommandHandler; use PhpSoftBox\CodeGenerator\CodeGenerator; use PhpSoftBox\CodeGenerator\GeneratorTarget; use PhpSoftBox\CliApp\Runner\RunnerInterface; final class MakeFooHandler extends AbstractMakeCommandHandler { protected function missingNameMessage(): string { return 'Имя класса не задано.'; } protected function successMessage(GeneratorTarget $target): string { return 'Создан класс: ' . $target->path; } protected function renderEvent(RunnerInterface $runner, GeneratorTarget $target): string { $generator = new CodeGenerator(); return $generator->renderClass( className: $target->className, namespace: $target->namespace, ); } }
Пример генерации класса с атрибутом:
$generator = new CodeGenerator(); $code = $generator->renderClass( className: 'WelcomeListener', namespace: 'App\\Listeners', uses: [ 'App\\Events\\UserRegistered', 'PhpSoftBox\\Events\\Attributes\\ListenTo', ], classAttributes: ['#[ListenTo(UserRegistered::class)]'], bodyLines: [ 'public function handle(UserRegistered $event): void', '{', '}', ], );