我有SlimFramework的问题,我想创建一个基于类的NotFoundHandler,但它忽略了withStatus方法,即使我从一个路由调用它。我没有计划我做错了什么。你能帮我解决这个问题吗?
我有NotFoundHandler类的以下代码:
class NotFoundHandler
{
/**
* @var \Slim\Container
*/
private $container;
/**
*
* @param \Slim\Container $c
*/
public function __construct(\Slim\Container &$c)
{
$this->container = $c;
}
/**
* @param $request \Slim\Http\Request
* @param $response \Slim\Http\Response
* @return \Slim\Http\Response Response
*/
public function __invoke($request, $response)
{
return $this->container['response']
->withStatus(404)
->write("I was not found")
);
}
}
此外,这些是我对容器的设置:
$container['settings']['displayErrorDetails'] = true;
$container['settings']['determineRouteBeforeAppMiddleware'] = true;
$container['settings']['addContentLengthHeader'] = false;
$container['settings']['outputBuffering '] = false;
我找不到这样的处理程序:
$container['notFoundHandler'] = function ($c) {
return new NotFoundHandler($c);
};
答案 0 :(得分:0)
现在有效。我没有在其他中间件中正确设置响应。
<强> CLOSED 强>