当我在4.2中进行编码时,我有时会使用missingMethod来处理某些我可能不知道确切网址的情况。我今天注意到,自5.0以来,documentation的这一部分已经消失了。
AFAIK,这个功能在Laravel 5.1上运行,但他们仍然删除了文档。
Laravel总是在改进工作方式。现在这个功能是不鼓励还是过时了?当然,他们没有理由将其从文档中删除。
如果有更新的方式我应该处理这个问题,我可以获得API或代码段的链接吗?
答案 0 :(得分:1)
缺少的方法与Implicit Controllers一起使用,已officially deprecated since Laravel 5.2,但反对使用它们的建议为issued long before that。与隐式控制器不同,显式路由定义是明确的并且是自我记录的。
我不确定您是通过missingMethod
处理未注册路由的方式或原因,但我不建议这样做。我从未遇到过需要使用它的情况。如果您需要处理丢失的路径路径,则应通过render
类的App\Exceptions\Handler
方法执行此操作。你可以沿着这些方向做点什么:
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
...
public function render($request, Exception $e)
{
if ($e instanceof NotFoundHttpException) {
// Do whatever you like when a route is not found
// You can return any response you like
}
return parent::render($request, $e);
}
中详细了解异常处理