Php 如何用我的包覆盖Laravel默认路由
我已经开发了一个软件包,并将其发布给了packagist。我的包包含一个服务提供程序和一组路由,其中包括通过服务提供程序类“引导方法”加载的默认“/”路由Php 如何用我的包覆盖Laravel默认路由,php,laravel,laravel-8,Php,Laravel,Laravel 8,我已经开发了一个软件包,并将其发布给了packagist。我的包包含一个服务提供程序和一组路由,其中包括通过服务提供程序类“引导方法”加载的默认“/”路由 $this->loadRoutesFrom(__DIR__.'/routes.php'); 但是,每当我访问站点时,都会执行web.php中的默认路由,而不是包中的默认路由。另外,包中的其他路径似乎也可以正常工作。这种情况下有什么问题?您不能从Laravel软件包中重写。解决方案就是让包用户删除默认路由文件(web.php)中定义的路
$this->loadRoutesFrom(__DIR__.'/routes.php');
但是,每当我访问站点时,都会执行web.php中的默认路由,而不是包中的默认路由。另外,包中的其他路径似乎也可以正常工作。这种情况下有什么问题?您不能从Laravel软件包中重写。解决方案就是让包用户删除默认路由文件(web.php)中定义的路由
或者您可以从中间件(如此软件包)中重写,我试图在服务提供商的引导功能中放置重定向,但即使这样也不起作用。不要在引导时放置重定向,而是在中间件上尝试