eth8505 / zf-symfony-console
Requires
- symfony/console: ~3.3 | ~4.0
- zendframework/zend-mvc: ~3.0
- zendframework/zend-servicemanager: ~3.0
- zendframework/zend-stdlib: ~3.0
This package is auto-updated.
Last update: 2020-09-30 20:31:22 UTC
README
!!!! 该包已不再维护,请使用 eth8505/laminas-symfony-console 替代 !!!!
Eth8585\ZfSymfonyConsole - Zend Framework 3 Symfony Console Module
Eth8585\ZfSymfonyConsole 模块允许在 Zend Framework 3 中使用 symfony console 组件。
如何安装
使用 composer 安装 eth8505/zf-symfony-console
包。
$ composer require eth8505/zf-symfony-console
在您的 application.config.php
文件中加载该模块,如下所示
<?php return [ 'modules' => [ 'Eth8505\ZfSymfonyConsole\\', // ... ], ];
如何使用
您可以使用 vendor/bin/console
工具运行您的命令。该工具可能位于不同的目录,具体取决于您的 composer bin-dir
配置。
根据您如何设置您的 Zend Framework 3 项目,您可能需要修改 public/index.php
。例如,如果您使用了 Zend MVC 框架项目,则这是必要的。
首先,该文件必须返回该库可以工作的 Application
实例。
可选地,如果您未通过 PHP CLI 调用 public/index.php
,则可以仅调用 Zend\Mvc\Application
的 run()
方法。这将避免在控制台中出现视图。
如何创建控制台命令?
1. 创建命令
按照 symfony console 文档 中所述创建命令。请注意,如果您使用的是完整的 zend-framework,则无法使用所有 symfony 服务容器逻辑。
2. 在服务管理器中注册
您可以通过配置文件中的 module.config.php
将您的命令注册到服务管理器中
<?php return [ 'zfsymfonyconsole_commands' => [ 'invokables' => [ MyCommand::class ] ] ];
或者使用 ConsoleCommandProviderInterface
在模块类中注册它
<?php namespace MyModule; use Eth8505\ZfSymfonyConsole\ConsoleCommandProviderInterface; class Module implements ConsoleCommandProviderInterface { /** * @inheritdoc */ public function getConsoleCommandConfig() { return [ 'invokables' => [ MyCommand::class ] ]; } }
3. 您的命令已准备好使用
您的命令现在将在使用 bin/console
工具时显示,并且可以使用在命令的 configure
方法中设置的任何内容来调用。
感谢
感谢 Rafi Adnan 和他的 RDN Console 模块,本模块基于此模块。