如何在 SocialEngine Zend 中创建自定义 API 路由

How to create a custom API route in SocialEngine Zend

我在 SocialEngine 中创建了一个新的 REST API 模块,可以通过 http://server_address/mymodulehttp://server_address/mymodule/index 浏览。我在 controllers 目录中有一个控制器 class Mymodule_IndexController。它有一个方法 indexAction,我在其中输出一些 JSON 响应。有效。
问题是,如何添加另一条路线和相应的操作,例如food/browse 在此模块中。我已经在 manifest.php 中添加了以下路由,但是当我浏览到 http://server_address/mymodule/browse 时,路由没有解析(页面未找到错误)。

'routes' => array(       
    'food_general' => array(
        'route' => 'advancedrestapi/:controller/:action/*',
        'defaults' => array(
            'module' => 'advancedrestapi',
            'controller' => 'index',
            'action' => 'index',
        ),
        'reqs' => array(
            'controller' => '\D+',
            'action' => '\D+',
        ),
    ),

如何向我的模块引入新的自定义路由和相应的 PHP 方法?

要添加自定义路由,您需要添加一个与 'action' 同名的文件,然后添加 .tpl 扩展名。因此,对于有问题的路线 ('action'=>'browse'),您将需要一个文件 application/modules/mymodule/views/scripts/index/browse.tpl。该文件可以为空。
然后,您将需要向您的 IndexController 添加一个新方法 class browseAction (action + Action)。在方法中编写您的逻辑,您将能够通过 http://server_address/mymodule/index/browse.

访问操作