Как создать собственный маршрут API в SocialEngine Zend - PullRequest
0 голосов
/ 02 июля 2018

Я создал новый модуль API REST в SocialEngine, который можно просмотреть с помощью http://server_address/mymodule или http://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 голосов
/ 02 июля 2018

Чтобы добавить пользовательский маршрут, вам нужно добавить файл с тем же именем, что и ваше «действие», а затем с расширением .tpl. Таким образом, для рассматриваемого маршрута ('action'=>'browse') вам потребуется файл с именем application/modules/mymodule/views/scripts/index/browse.tpl. Файл может быть пустым.
Затем вам нужно будет добавить новый метод в ваш класс IndexController browseAction (действие + Action). Напишите свою логику внутри метода, и вы сможете получить доступ к действию через http://server_address/mymodule/index/browse.

...