404处理
优质
小牛编辑
132浏览
2023-12-01
当没有匹配的路由,这时候可能会需要404处理。框架默认的404处理为状态码设为404,如果需要自定义处理,需要编写自定义处理类。
指定默认处理器
配置文件中:
return [
'beans' => [
'HttpNotFoundHandler' => [
// 指定默认处理器
'handler' => \xxx\HttpNotFoundHandler::class,
],
],
];
编写处理器
如下代码所示,实现IHttpNotFoundHandler
接口,handle()
方法返回值为Response
对象。
<?php
class HttpNotFoundHandler implements IHttpNotFoundHandler
{
public function handle(RequestHandlerInterface $requesthandler, ServerRequestInterface $request, ResponseInterface $response): ResponseInterface
{
return $response->withStatus(StatusCode::NOT_FOUND);
}
}