timofiyprisyazhnyuk / chain-command-bundle
Symfony 扩展,实现命令链功能。
dev-master
2022-03-29 09:27 UTC
Requires
- php: >=8.0
- symfony/console: 5.4.*
- symfony/event-dispatcher: 5.4.*
- symfony/framework-bundle: 5.4.*
- symfony/monolog-bundle: ^3.7
- symfony/yaml: 5.4.*
This package is auto-updated.
Last update: 2024-09-29 06:09:06 UTC
README
ChainCommandBundle 是一个实现命令链功能的 Symfony 扩展。应用中的其他 Symfony 扩展可以将其控制台命令注册为命令链的成员。当用户运行链中的主命令时,该链中注册的所有其他命令也应执行。注册为链成员的命令将不能再独立执行。
安装
###第 1 步
通过 composer
composer require "timofiyprisyazhnyuk/chain-command-bundle": "*"
###第 2 步
将扩展添加到 "./config/bundles.php"
<?php return [ ... Timofiy\ChainCommandBundle\ChainCommandBundle::class => ['all' => true], ];
###第 3 步(可选)
如果您想使用 ChainCommandManager 服务动态命令链
- 在 "./config/services.yaml" 中创建别名
Timofiy\ChainCommandBundle\Manager\ChainCommandManager: "@chain_command.manager"
用法
- 动态: "ChainCommandManager::putToChain"
/** * Some constructor * * @param ChainCommandManager $chainCommandManager */ public function __construct(private ChainCommandManager $chainCommandManager) { $this->chainCommandManager->putCommandToChain('root:command', 'member:command'); parent::__construct(); }
- 静态:在配置文件中指定链(在 "./config" 中)
timofiy_chain_command: detailed_logging: # is detailed logging enabled enabled: true chain_commands: foo:hello: # root command name - bar:hi: # member command name arguments: { } # arguments: { "-arg": "value", "--argWithoutVal": ~, "key": 'example value' } sort_index: 16 # sort_index: int - for sorting member commands - bar:hi: arguments: { } sort_index: 12
演示
##您可以安装演示 symfony 扩展