zf2样式对象工厂/闭包

时间:2016-04-20 23:25:32

标签: php zend-framework2

我正在使用Command模式,并试图通过使用闭包来复制zf2样式的服务配置,以尝试在闭包内加载命令对象依赖项。例如,在我的命令工厂中:

protected function getCommandConfig(){
    return [
        'view-details-command' => function () { 
            $userFactory = new My\Model\User\Factory();

            $editUserForm = new My\Form\User\Edit();
            $editUserForm ->setInputFilter(new My\InputFilter\EditUser());

            $command = new My\Command\ViewUserDetailsCommand($userFactory, $editUserForm);
            return $command;
        }
    ];
}

...这与ZF2在服务管理器中初始化对象的方式非常相似。但是,当我运行它时,例如$command = $this->getCommandConfig()[$commandName]我得到一个返回的闭包对象,当我调用一个方法时,我想要成为一个命令对象引发异常("调用未定义的方法)闭合:: foobar的....&#34)。我应该怎么做才能使用这种配置? (我没有使用整个ZF2堆栈。)

0 个答案:

没有答案