如何使用zf-console执行Zend Framework 3的Action?
我最近成功实现了用zf-console来执行Zend Framework 3(ZF3)的Action,借助zend-mvc-console模块就能搞定,目前运行完全正常,给大家分享下我的具体实现示例:
1. 配置控制台路由规则(Application/config/module.config.php)
在模块配置文件中添加控制台路由配置,指定触发的控制器与对应Action:
'console' => [ 'router' => [ 'routes' => [ 'cronroute' => [ 'options' => [ 'route' => 'sync', 'defaults' => [ 'controller' => Controller\ConsoleController::class, 'action' => 'syncEvents' ] ] ] ] ] ],
2. 编写控制台控制器(Application/src/Controller/ConsoleController.php)
创建继承自AbstractActionController的控制台控制器,实现对应的业务Action方法:
class ConsoleController extends AbstractActionController { // 实现syncEvents方法的具体业务逻辑 public function syncEventsAction() { // 这里可以写入你的业务代码,比如数据同步、定时任务逻辑等 $this->getConsole()->writeLine('同步任务执行完成!'); return 0; // 返回退出码,0代表执行成功 } }
配置完成后,在命令行执行php public/index.php sync,就能触发ConsoleController里的syncEventsAction了,亲测运行流畅~
内容的提问来源于stack exchange,提问作者mindteam
相关产品推荐
相关产品推荐

