Laravel 5.6 404事件

时间:2018-03-02 17:45:34

标签: php laravel content-management-system http-status-code-404

我一直在围着这个圈子。

我们使用捆绑包在Laravel 3中编写了一个CMS系统。 现在是使用最新的Lavarel 5.6开发新产品的时候了,这意味着包装。

我们希望能够在web.php中定义我们自己的路由,但CMS包路由文件会选择未定义的所有路由,以便它可以检查CMS中是否定义了页面并返回正确的视图

在L3,我们做了:

Event::override('404', function() {
    ...magic

在laravel 5.6中你不能这样做,所以我尝试了各种各样的:

Route::any('/{any}', function ($url = false) {
})->where('any', '.*');

但问题是Laravel加载所有内存中的路由文件,而/ {any}路由会覆盖web.php中定义的任何路由,无论服务提供程序的加载顺序如何,我们希望允许定义路由,但要清除任何尚未定义的路径。

在L4中,您似乎曾经能够这样做:

App::missing(function($e) {

但在L5中再次出现这种情况

我可以通过异常处理程序运行它,但我希望这可以在包中工作,因此它可以轻松安装,而且我也无法使其工作!

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:-1)

inlines

尝试这条路线