我一直在围着这个圈子。
我们使用捆绑包在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中再次出现这种情况
我可以通过异常处理程序运行它,但我希望这可以在包中工作,因此它可以轻松安装,而且我也无法使其工作!
任何帮助都将不胜感激。
答案 0 :(得分:-1)
inlines
尝试这条路线