Zend framework2 Zend框架2-操作方法上的独立逻辑

Zend framework2 Zend框架2-操作方法上的独立逻辑,zend-framework2,Zend Framework2,如何在控制器中分离操作方法的逻辑,例如在控制器操作中,我有解析xml和保存文件的代码。我应该将xml的代码移到另一个类“module”并添加到getServiceConfig? 有什么建议吗 //in module.php public function getServiceConfig() { return array( 'Xlsx' => function($sm) { $model = new

如何在控制器中分离操作方法的逻辑,例如在控制器操作中,我有解析xml和保存文件的代码。我应该将xml的代码移到另一个类“module”并添加到getServiceConfig? 有什么建议吗

//in module.php
public function getServiceConfig()
{        
    return array(
      'Xlsx' => function($sm) {            
                $model = new \Application\Model\Xlsx();
                $model->setServiceLocator($sm);
                return $model;
       },
    );
}

//in constroller
$xlsx = $this->getServiceLocator()->get('Xlsx');
$dataArray = $xlsx->import($fileTab);

究竟是什么问题?好主意,就去做吧您可以访问控制器中的ServiceLocator,因此我看不到问题。也许可以告诉我们你尝试了什么,然后我们就能帮助你。我为类/模块创建了文件夹,每个类/模块都可以在控制器中使用,但我不知道是否可以?是的,我使用ServiceLocator实现了这一点。它的想法是将控制器中的方法逻辑与模型分离,如果不适用db实体?有一大堆开源模块。只要看看他们是怎么做的。想法很好,代码看起来很好。有什么问题?我唯一想改变的不是将
$sm
传递给model,而是只传递所选的服务-可能是
Zend\Db\Adapter\Adapter
。这就是官方用户指南中的建议,它是有意义的?