Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php zf2样式对象工厂/闭包_Php_Zend Framework2 - Fatal编程技术网

Php zf2样式对象工厂/闭包

Php zf2样式对象工厂/闭包,php,zend-framework2,Php,Zend Framework2,我正在使用命令模式,并试图通过使用闭包来复制zf2样式的服务配置,以尝试在闭包中加载命令对象依赖项。例如,在我的命令工厂中: protected function getCommandConfig(){ return [ 'view-details-command' => function () { $userFactory = new My\Model\User\Factory(); $editUserForm

我正在使用命令模式,并试图通过使用闭包来复制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在service manager中初始化对象的方式几乎相同。但是,当我运行此命令时,例如
$command=$this->getCommandConfig()[$commandName]
我会返回一个closure对象,当我调用一个方法时会引发一个异常,而我期望它是一个命令对象(“调用未定义的方法closure::foobar…”)。我应该怎么做才能使用这种配置?(我没有使用整个ZF2堆栈)