1 回答
TA贡献1836条经验 获得超5个赞
这是一个 ZF1 应用程序树,ZF1 有其 REST 实现。
假设您将其称为“MyRestfulController”。
那么你必须注册你的休息路线,你可以在你的 Bootstrap.php 中完成
protected function _initRestRoute()
{
$frontController = $this->bootstrap('frontController')->getResource("frontController");
$restRouteUL = new Zend_Rest_Route($frontController, array(), [
'default' => [
'my-restful'
]
]);
$frontController->getRouter()->addRoute('rest', $restRouteUL);
}
或者
如果您不需要休息,而只是返回一些 JSON 的 API,您可以跳过 Restful 部分并禁用控制器中的布局(因此不扩展 Zend_Rest_Controller ),覆盖“init()”方法
public function init()
{
parent::init();
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$this->getResponse()->setHeader("Content-type", "text/json");
/**
* This is important for the helper not to exit the dispatch loop
*/
$this->_helper->json->suppressExit = true;
}
那么在你的行动中
public function getMyDataAction()
{
$data = [];
// your filters and all the logic to populate $data
$this->_helper->json($data);
}
请记住,ZF1 有几个性能问题,主要与资源配置有关,应尽可能用 serviceManager 替换,也可以用 Zend_Date 替换。
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报