seiffert/console-extra-bundle

此包增加了对定义为DI服务的命令的支持

1.0.0 2012-12-08 20:40 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:35:26 UTC


README

此包增加了对定义为DI服务的命令的支持。

Build Status

设置

通过composer安装此包

composer.json:

    "require": {
        ...
        "seiffert/console-extra-bundle": "1.0.0",
        ...
    }

在您的AppKernel中激活此包

app/AppKernel.php:

    public function registerBundles()
    {
        $bundles = array(
            ...
            new Seiffert\ConsoleExtraBundle\SeiffertConsoleExtraBundle(),
            ...
        );
        ...
    }

在每个定义命令的包中禁用自动命令注册,通过覆盖Bundle::registerCommands()以空实现

src\You\YourBundle\YouYourBundle.php:

    public function registerCommands(Application $application)
    {
        // commands are registered by SeiffertConsoleExtraBundle
    }

使用方法

按照上述设置步骤操作后,您可以开始定义所有命令为服务。命令服务通过特殊标签console.command进行标识

src\You\YourBundle\Resources\config\services.yml:

parameters:
    acme_demo.test_command.class: Acme\DemoBundle\Command\TestCommand

services:
    acme_demo.test_command:
        class: %acme_demo.test_command.class%
        tags:
            - { "name": "console.command" }

您的命令将被添加到依赖注入容器中。这使得您能够编写具有依赖注入的命令,因此这些命令真正可进行单元测试。