我需要一些帮助。我想在控制器的动作运行之前在 Zend Framework 2 中运行一个方法。我将我的方法放在 Module.php 的 onBootstrap 中,但它在操作启动之前不会运行。
在 Module.php 中:
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
$app = $e->getApplication();
$em = $app->getEventManager();
$em->attach(MvcEvent::EVENT_DISPATCH, function($e) {
$controller = $e->getTarget();
$controller->Init();
});
}
我想在操作运行之前对我的适配器运行 Init() 方法,但它不起作用,我总是收到以下消息:
可捕获的致命错误:参数 1 传递给 Application\Model\Members::__construct() must是 Zend\Db\Adapter\Adapter 的一个实例,给定 null,在第 39 行的 PATH\module\Application\src\Application\Controller\AdminController.php 中调用并在 PATH\module\Application\src\Application\Model\ 中定义第 17 行的 members.php
成员类在应该运行的操作中,并且它的 __construct 需要有一个有效的 Adapter 对象,该对象应该在 Init() 方法中初始化。
有人可以帮我吗?非常感谢!