The package is a console application that can be used to perform common tasks in a Yii application.
- PHP 8.0 or higher.
The package could be installed with composer:
composer create-project --prefer-dist --stability=dev yiisoft/app-console <your project>
<?php
declare(strict_types=1);
namespace App\Console;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Yiisoft\Yii\Console\ExitCode;
final class Hello extends Command
{
protected static $defaultName = 'hello';
protected static $defaultDescription = 'An example command';
private string $sentence = 'sentence';
public function __construct()
{
parent::__construct();
}
protected function configure(): void
{
$this->setDefinition(
new InputDefinition([
new InputArgument($this->sentence, InputArgument::OPTIONAL, 'Sentence to say.', 'Hello!'),
])
);
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$output->writeln("You says: {$input->getArgument('sentence')}");
return ExitCode::OK;
}
}
$ ./yii
Yii Console 1.0
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--config=CONFIG Set alternative configuration name
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
completion Dump the shell completion script
hello An example command
help Display help for a command
list List commands
serve Runs PHP built-in web server
$ ./yii hello
You says: Hello!
$ ./yii hello 'Code something'
You says: Code something
The template comes with ready to use Codeception configuration. In order to execute tests run:
vendor/bin/codecept run
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
The Yii app console is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.