-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathComposerNameQuestion.php
More file actions
62 lines (49 loc) · 1.71 KB
/
Copy pathComposerNameQuestion.php
File metadata and controls
62 lines (49 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
declare(strict_types=1);
/*
* This file is part of the package friendsoftypo3/kickstarter.
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/
namespace FriendsOfTYPO3\Kickstarter\Command\Input\Question\Extension;
use FriendsOfTYPO3\Kickstarter\Command\Input\Question\AbstractQuestion;
use FriendsOfTYPO3\Kickstarter\Context\CommandContext;
use Symfony\Component\DependencyInjection\Attribute\AutoconfigureTag;
#[AutoconfigureTag('ext-kickstarter.command.question.extension')]
readonly class ComposerNameQuestion extends AbstractQuestion
{
public const ARGUMENT_NAME = 'composer_name';
private const QUESTION = [
'Composer package name',
];
private const DESCRIPTION = [
'To build a new TYPO3 extension, we need to use Composer to manage dependencies.',
'Composer is like a package manager for PHP projects.',
'For more information about Composer, visit https://getcomposer.org/',
'Example: my-vendor/my-extension',
];
public function __construct(
private iterable $inputHandlers,
) {}
public function getArgumentName(): string
{
return self::ARGUMENT_NAME;
}
protected function getDescription(): array
{
return self::DESCRIPTION;
}
protected function getQuestion(): array
{
return self::QUESTION;
}
public function ask(CommandContext $commandContext, ?string $default = null): mixed
{
$commandContext->getIo()->text($this->getDescription());
return $this->askQuestion(
$this->createSymfonyQuestion($this->inputHandlers, $default),
$commandContext
);
}
}