我想使用用户名捕获所有类似于facebook.com的路由
xxx.com/{username}
因此我们可以通过在最后一行的web.php
中添加它来做到这一点
Route::get('/{username}', 'UserController@index');
但是现在它会产生软件包问题。因为程序包是在RouteServiceProvider之后自动发现并注册的。
通常可以做什么?
我可以做的一件事就是禁用自动发现软件包的功能,但是我有太多的软件包,以至于很难添加所有服务提供商并且错过了软件包发现所提供的即插即用功能。
< / li>我可以做的另一件事是使用后备路由,但是由于我不知道路由参数(在这种情况下为username
),因此出现了问题。我在SPA应用程序中使用了肮脏的把戏,它适用于SPA。
我发现Laravel网站上有很多问题,但他们通常会忽略它,就像Laracasts使用@符号(例如laracasts.com/@god
)来解决此问题一样,许多这样做。 SPA站点通常没有问题,因为反应路由器和Vue路由器等都可以正常工作。
那么有什么合适的解决方案吗,我认为这是Laravel不能使我们的生活变得轻松的一个问题:(
我认为在注册路由服务提供商之前先注册软件包路由是一个不错的解决方案,但我不知道实现此目标的方法。