seiffert / console-extra-bundle
此包增加了对定义为DI服务的命令的支持
1.0.0
2012-12-08 20:40 UTC
Requires
- php: >=5.3.3
- symfony/symfony: >=2.1
This package is not auto-updated.
Last update: 2024-09-14 13:35:26 UTC
README
此包增加了对定义为DI服务的命令的支持。
设置
通过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" }
您的命令将被添加到依赖注入容器中。这使得您能够编写具有依赖注入的命令,因此这些命令真正可进行单元测试。