首页 > 解决方案 > 使用cakephp3,如何在路由中自定义方法和动作

问题描述

add()我知道 POST 方法默认指向控制器中的cakephp3. 是否可以自定义并将 POST 方法指向index()?如下所示:

Router::connect(
    '/test',
    array(
        'controller' => 'Test',
        'action' => 'index',
        '[method]' => 'POST'
    )
);

标签: phproutingcakephp-3.0

解决方案


感谢@ndm,他为我的问题提出了非常明确的解决方案。

我的问题之一是我有$routes->resources('Test');这将禁用@ndm 的解决方案。所以首先,我注释掉了这一行$routes->resources('Test');

因为我没有在一个可靠的项目上工作,这是一个用于狭窄目的的临时项目,所以下面的代码现在对我来说非常适合。

Router::scope('/', function ($routes) {
    $routes->setExtensions(['json']);
//    $routes->resources('Test');

    $routes->post(
        '/test',
        ['controller' => 'Test', 'action' => 'add']
    );
});

推荐阅读