我在 Laravel 5 (barryvdh/laravel-cors) 中使用全局中间件,但我只希望它在一种环境 (dev) 上处于活动状态。那是因为我只需要在开发环境中使用 Composer,所以它没有安装在生产环境中。
我在应用程序内核中注册了它有一个全局中间件,因此如果我尝试在生产中部署我的应用程序,则会出现错误(Class 'Barryvdh\Cors\CorsServiceProvider' not found
)。我知道为什么,但我正在寻找解决方案。
有没有办法在 Laravel 5 中全局声明一个中间件,但只在一个环境中需要?
我希望它足够清楚,如果不够清楚,我可以编辑我的帖子:)
要实现此目的,只需在服务提供者中加载内核,然后调用pushMiddleware
or prependMiddleware
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot(Kernel $kernel)
{
if ($this->app->environment() === 'dev') {
$kernel->prependMiddleware(ClockworkMiddleware::class);
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)