跳到内容

控制台组件

编辑此页

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 许可获得许可。
目录
    版本