--TEST-- Symfony pattern: class attribute with named arguments and constructor normalization --FILE-- name = implode('|', $names); } } #[SymfonyLikeCommand(name: 'cache:clear', description: 'Clear cache', hidden: true, help: 'Clears generated cache')] class SymfonyLikeClearCacheCommand { } function main(): void { $attribute = (new ReflectionClass(SymfonyLikeClearCacheCommand::class))->getAttributes(SymfonyLikeCommand::class)[0]; $command = $attribute->newInstance(); var_dump($command->name); var_dump($command->description); var_dump($command->usages); } ?> --EXPECT-- string(12) "|cache:clear" string(11) "Clear cache" array(0) { }