dsghpgmay31938863 2016-01-03 13:42
浏览 23

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

I am using the following code for "Routing using methods inside classes:"

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

My class looks like:

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

The above code works fine for me and when I open "http://localhost:3000/contacts"

The Problem is when I try to handle multuple HTTP request

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

Is there anyway, I can pass class name such as Users in the above pseudo code and the code works for me, The class would be something like:

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

In such a way, that my request listens to the appropriate method.

  • 写回答

1条回答 默认 最新

  • dongzhi7763 2016-01-07 07:55
    关注

    You would need to create a method that sorts out the current route's details than calls the correct method.

    You can determine which method was used by calling the $request->getOriginalMethod(); function, then using call_user_func_array(); function you can call whichever of your functions is appropriate for the current method.

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog