我一直在 zend 1 中开发一个项目,但决定转移到 zend 2 以利用诸如事件等之类的东西。
我最初的问题是我似乎找不到任何关于如何以我需要的方式使用模型的教程。
我拥有的是一个 Api 控制器,它被路由到 /api/soap
这个soap端点加载了一个类,该类具有我想通过SOAP公开的所有方法
namespace MyProject\Controller;
$view = new ViewModel();
$view->setTerminal(true);
$view->setTemplate('index');
$endpoint = new EndpointController();
$server = new Server(
null, array('uri' => 'http://api.infinity-mcm.co.uk/api/soap')
);
$server->setObject($endpoint);
$server->handle();
我的包含所有功能的控制器是
namespace MyProject\Controller;
class EndpointController
{
public function addSimpleProducts($products)
{
}
}
现在我想做的是从这个 EndpointController 中访问我的产品模型。
所以我试过这个:
protected function getProductsTable()
{
if (!$this->productsTable) {
$sm = $this->getServiceLocator();
$this->productsTable= $sm->get('MyProject\Model\ProductsTable');
}
return $this->productsTable;
}
当我运行它时,我得到了 EndpointController::getServiceLocator() 未定义的致命错误。
我对 Zend 2 很陌生,但在 Zend 1 中,感觉这将是我开发过程中非常小的一步,我已经到了将 zend 2 关闭并返回到 zend 1 甚至切换到 symfony 2 的地步,这很简单使用教义...
帮助?