【发布时间】:2016-06-16 07:57:55
【问题描述】:
我正在尝试编写一个 symfony 2 命令,它基本上可以读取多个路由(通过 yml 文件或通过参数),并且可以获取每个页面的响应,以便我可以报告是否他们以 200/404/502 等形式返回。 路由是相对的,因此诸如“/”和“/news”之类的路由也是如此。
似乎无法弄清楚如何发送这些请求以获得真正的响应,我可以使用 Request::create() 来创建请求,但这似乎并不符合我的要求。
我是否必须通过内核,即使它是一个命令?任何帮助将不胜感激。
到目前为止我所拥有的:
$request = Request::create('/news', 'GET');
$response = new Response();
$response->prepare($request);
$res = $response->send();
var_dump($res->getContent());
这总是返回一个空字符串。
还尝试了以下方法:
$client = new Client(
new HttpKernel(new EventDispatcher(), new ControllerResolver())
);
$client->request('GET', '/news');
var_dump($client->getResponse());
返回一个路由配置错误的错误
谢谢 凯文
【问题讨论】:
-
为什么不使用tests 来检查状态码?你可以使用
$client->getResponse()->getStatusCode()。 -
您的目标是编写 Symfony 命令还是检查一些 URL?如果您想检查真实 URL,使用其他一些工具可能会更简单:stackoverflow.com/questions/6136022/…