Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加一个路由以处理Slim PHP中的多个HTTP请求_Php_Slim - Fatal编程技术网

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

添加一个路由以处理Slim PHP中的多个HTTP请求,php,slim,Php,Slim,我使用以下代码来“在类内使用方法进行路由”: 我的班级看起来像: class Contacts { public function home() { return 'something'; } } 当我打开“”时,上面的代码对我来说运行良好 问题是当我尝试处理多元组HTTP请求时 $app->group('/users/{id:[0-9]+}', function() { $this->map(['GET', 'POST'], '', 'Us

我使用以下代码来“在类内使用方法进行路由”:

我的班级看起来像:

class Contacts {
    public function home() {
        return 'something';
    }
}
当我打开“”时,上面的代码对我来说运行良好

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

$app->group('/users/{id:[0-9]+}', function() {
    $this->map(['GET', 'POST'], '', 'Users');
});
不管怎样,我可以在上面的伪代码中传递类名,例如Users,并且代码对我有效,该类类似于:

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

通过这种方式,我的请求将侦听适当的方法。

您需要创建一个方法,该方法对当前路由的详细信息进行排序,而不是调用正确的方法


您可以通过调用
$request->getOriginalMethod()来确定使用了哪个方法函数,然后使用
调用用户函数数组()
function您可以调用任何适合当前方法的函数。

将其显示为
/users/:id
,而不是
/users/{id:whatever}
。我没有使用Slim,但是
:id
语法有效吗?为什么要添加正则表达式?正则表达式在SlimPHP中运行良好,我使用正则表达式告诉您:id只能接受数字。
class Users {
    function get() {
        return 'asd';
    }
    function post() {
        return 'post';
    }
}