| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Console\Attribute;
- /**
- * Service tag to autoconfigure commands.
- */
- #[\Attribute(\Attribute::TARGET_CLASS)]
- class AsCommand
- {
- /**
- * @var string
- */
- public $name;
- /**
- * @var string|null
- */
- public $description;
- /**
- * @param string $name
- * @param string|null $description
- * @param mixed[] $aliases
- * @param bool $hidden
- */
- public function __construct($name, $description = null, $aliases = [], $hidden = false)
- {
- $this->name = $name;
- $this->description = $description;
- if (!$hidden && !$aliases) {
- return;
- }
- $name = explode('|', $name);
- $name = array_merge($name, $aliases);
- if ($hidden && '' !== $name[0]) {
- array_unshift($name, '');
- }
- $this->name = implode('|', $name);
- }
- }
|