控制台组件
Console 组件简化了创建美观且可测试的命令行界面的过程。
Console 组件允许您创建命令行命令。您的控制台命令可以用于任何重复性任务,例如 cronjobs、导入或其他批处理作业。
安装
1
$ composer require symfony/console
注意
如果您在 Symfony 应用程序之外安装此组件,则必须在代码中 require vendor/autoload.php
文件,以启用 Composer 提供的类自动加载机制。阅读这篇文章了解更多详情。
创建一个控制台应用
另请参阅
本文介绍了如何在任何 PHP 应用程序中将 Console 功能用作独立组件。阅读控制台命令文章,了解如何在 Symfony 应用程序中使用它。
首先,您需要创建一个 PHP 脚本来定义控制台应用程序
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/env php
<?php
// application.php
require __DIR__.'/vendor/autoload.php';
use Symfony\Component\Console\Application;
$application = new Application();
// ... register commands
$application->run();
然后,您可以使用 add() 注册命令
1 2
// ...
$application->add(new GenerateAdminCommand());
您还可以注册内联命令,并借助 Command::setCode()
方法定义它们的行为
1 2 3 4 5 6 7 8
// ...
$application->register('generate-admin')
->addArgument('username', InputArgument::REQUIRED)
->setCode(function (InputInterface $input, OutputInterface $output): int {
// ...
return Command::SUCCESS;
});
当创建单命令应用程序时,这非常有用。
有关如何创建命令的信息,请参阅控制台命令文章。
本作品,包括代码示例,根据Creative Commons BY-SA 3.0 许可获得许可。