Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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
PHP联盟/路由post请求对象_Php_Post_Request_Response_Router - Fatal编程技术网

PHP联盟/路由post请求对象

PHP联盟/路由post请求对象,php,post,request,response,router,Php,Post,Request,Response,Router,我正在使用league/route为我的应用程序处理路由 我有一条邮政路线: $router = new RouteCollection; $router->post('/url', 'MyClass::myMethod'); ...$dispatcher->dispatch(...)->send(); 在我的方法中: class MyClass { public function myMethod(Request $request) { var_d

我正在使用league/route为我的应用程序处理路由

我有一条邮政路线:

$router = new RouteCollection;
$router->post('/url', 'MyClass::myMethod');

...$dispatcher->dispatch(...)->send();
在我的方法中:

class MyClass {
    public function myMethod(Request $request) {
        var_dump($request->request);
    }
}
传递的请求对象只是HttpFoundation\request的一个新实例,而不是应用程序已处理的实际请求,即没有post数据。要获取post数据,我需要执行以下操作:

$request = Request::createFromGlobals();

在我的方法之内。这使得传递给我的方法的请求对象无效。我如何配置Route来传递实际请求,以便在不必创建自己的请求对象的情况下获取post数据?

RouteCollection对象接受league/container的依赖项,即依赖项注入容器。这是调用控制器时从中提取请求对象的位置

通过设计,请求对象不是为您构建的,以防您想自己对其执行任何特定操作,因此,它需要在容器中定义,或者每次都会返回一个空白请求。计划在路由器的第2版中对此进行修正,因为在不久的将来我会发布此消息

所以需要这样的东西

<?php


$container = new League\Container\Container;

$container->add('Symfony\Component\HttpFoundation\Request', function () {
    return Symfony\Component\HttpFoundation\Request::createFromGlobals();
});

$router = new League\Route\RouteCollection($container);
$router->post('/url', 'MyClass::myMethod');

// ...

$dispatcher->dispatch(/* ... */)->send();

目前面临同样的问题,github在skeleton应用程序上发布了404。您好,Philipo,Philipp,这里是“建议编辑评论”。您链接的示例框架应用程序似乎不再可用。然而,您几天前创建了github回购协议。因为它是空的,我同意删除不存在的回购协议的链接,但也许你想再次添加回购协议。