2

我使用 Lumen 框架有一段时间了,我发现自己遇到了一个反复出现的问题。

在我的示例中,页面/index/validation/需要一个参数,这里用{key}. 但是,/index/validation/不带参数的调用,我看不出如何没有页面未找到异常。

所以,我创建了一个重定向到主页的函数

路由.php

$app->get('/index/validation', 'App\Http\Controllers\IndexController@redirectIndex');
$app->get('/index/validation/{key}', 'App\Http\Controllers\IndexController@validation');

索引控制器

public function redirectIndex() {
    return redirect('index');
}

我在这里做什么工作正常,但是,我不确定是否应用正确的方法,或者是否有其他方法可以实现我的目标?

4

1 回答 1

2

所有未捕获的异常都在App\Exceptions\Handler. 要重定向所有未找到的异常,请将render()方法更改为:

public function render($request, Exception $e)
{
    if($e instanceof NotFoundHttpException){
        return redirect('index');
    }
    return parent::render($request, $e);
}

您还必须使用以下命令导入该类:

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
于 2015-05-11T20:43:17.067 回答