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

时间:2018-07-02 10:51:21

标签: zend-framework socialengine

我在SocialEngine中创建了一个新的REST API模块,可以通过http://server_address/mymodulehttp://server_address/mymodule/index进行浏览。我在Mymodule_IndexController目录中有一个控制器类controllers。它有一个方法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方法?

1 个答案:

答案 0 :(得分:1)

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