添加一个路由来处理Slim PHP中的多个HTTP请求

时间:2016-01-03 13:42:57

标签: php slim

我使用以下代码进行"使用类中的方法进行路由:"

$app->any('/contacts', 'Contacts:home');

我的班级看起来像:

class Contacts {
    public function home() {
        return 'something';
    }
}

以上代码适用于我,当我打开" http://localhost:3000/contacts"

问题是当我尝试处理多页HTTP请求时

$app->group('/users/{id:[0-9]+}', function() {
    $this->map(['GET', 'POST'], '', 'Users');
});

无论如何,我可以在上面的伪代码中传递用户等类名,代码适用于我,该类类似于:

class Users {
    function get() {
        return 'asd';
    }
    function post() {
        return 'post';
    }
}

以这种方式,我的请求会听取适当的方法。

1 个答案:

答案 0 :(得分:0)

您需要创建一个方法来排序当前路线的详细信息,而不是调用正确的方法。

您可以通过调用$request->getOriginalMethod();函数来确定使用哪种方法,然后使用call_user_func_array();函数调用适合当前方法的函数。