我在另一个模块中的两个控制器中具有相同的功能。 我该怎么办才能不重复相同的代码? 例 LoginController.php和UserController.php
public function getSessionStorage()
{
if (! $this->storage) {
$this->storage = $this->getServiceLocator()
->get('Users\Model\MyAuthStorage');
}
return $this->storage;
}
感谢您的回答
答案 0 :(得分:0)
我建议您使用依赖注入而不是建议的基本控制器。
由于zf2中的ControllerManager是ServiceManager的专用版本,因此非常简单。这意味着您可以将配置中的invokable替换为控制器的工厂,就像服务管理器的任何其他情况一样,并从那里注入您的依赖项。
如果您需要示例,请查看此回购https://github.com/GeeH/bad-puppy
在excercise/*
分支之间使用github比较功能。