Я создал для своего приложения symfony2 несколько команд. Если я просто запускаю консоль, я вижу довольно неинтересные:
$ ./app/console
Symfony version 3.0.4-DEV - app/dev/debug
Если вы запустите composer, вы увидите логотип ASCII art, а также название и версию самого приложения.
$composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.0.2 2016-04-21 12:30:18
Как они этого добились? Так как они используют консольные компоненты symfony2. Я просмотрел команды, но не нашел место, где оно определено.
Решение не в командах, а в композиторе Application.php
это просто расширяется Symfony\Component\Console\Application
и там они установили логотип:
class Application extends BaseApplication
{
private static $logo = ' ______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
';
public function getHelp()
{
return self::$logo . parent::getHelp();
}
}
Так что я сделал то же самое. Я создал свой собственный
MyApplication extends Application
{
private static $name = "MyAPP";
/**
* @var string
*/
private static $logo = <<<LOGO
,:',:`,:'
__||_||_||_||__
____["""""""""""""""]____
\ " '''''''''''''''''''' |
~^~^~^^~^~^~^~^~^~^~^~~^~^~^^~~^~^~^~^
LOGO;
/**
* MyApp constructor.
* @param KernelInterface $kernel
* @param string $version
*/
public function __construct(KernelInterface $kernel, $version)
{
parent::__construct($kernel);
$this->setName(static::$name);
$this->setVersion($version);
}
/**
* @return string
*/
public function getHelp()
{
return static::$logo . parent::getHelp();
}
}
и использовал это в моем app/console
:
$kernel = new AppKernel($env, $debug);
$application = new MyApplication($kernel, '1.0.2');
$application->run($input);
И сейчас $ ./app/console/
печатает:
,:',:`,:'
__||_||_||_||__
____["""""""""""""""]____
\ " '''''''''''''''''''' |
~^~^~^^~^~^~^~^~^~^~^~~^~^~^^~~^~^~^~^
MyAPP version 1.0.2
Других решений пока нет …