在Zend Framework中创建Restful API时,您可以使用模块吗?如果是这样,可以解释一下吗?用例子说明。 (或带有证明文件的链接)
我有一些名为:
的模块产品
实体
可能有多个控制器,例如。
/客户
/供应商
在每个我都有一个索引控制器的方法:
获取
发布
放
删除
示例:
产品/索引/?id = 1& name = test(将添加)
但是我想要删除单词索引,所以它改为: 产品/?id = 1& name = test(将添加)
我可以在Zend_Controller_Router_Route的帮助下做到这一点,但它没有传递请求,我看过getMethod,但你不能在bootstrap阶段这样做。
有没有什么办法可以将模块化的Zend Framework应用程序用作一个宁静的API?
答案 0 :(得分:1)
是的,你可以。
您必须使用Zend_Rest_Route。它通过方法将请求路由到正确的操作。有一个错误阻止在配置文件中配置其余路由,因此您必须在引导程序中添加路由。
<?php
protected function _initRestRoute()
{
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$restRoute = new Zend_Rest_Route(
$front,
array(), //Defaults
array('api') //Restful modules
);
$router->addRoute('rest', $restRoute);
}
默认情况下,如果您提供这样的URL,123将绑定到变量$ id
products/123
你也可以像这样指定Url,当变量是绑定'123' - &gt; $ id和'test' - &gt; $名称
products/id/123/name/test
控制器应该扩展Zend_Rest_Controller类