我在Laravel 5(barryvdh / laravel-cors)中使用了全局中间件,但我只希望它在一个环境(dev)上处于活动状态。那是因为我只在开发环境中需要composer,所以它没有安装在生产环境中。
我在App Kernel中注册了一个全局中间件,因此如果尝试在生产环境(Class 'Barryvdh\Cors\CorsServiceProvider' not found
)中部署我的应用程序,则会出现错误。我知道为什么,但是我正在寻找解决方案。
有没有办法在laravel 5中全局声明一个中间件,但仅在一个环境中需要?
我希望它已经足够清楚了,如果没有,我可以编辑我的帖子:)
到目前为止,我发现的最好方法是在内核中检查env('APP_ENV')
public function __construct(Application $app, Router $router)
{
if (env('APP_ENV', 'production') === 'local') {
$this->prependMiddleware('Clockwork\Support\Laravel\ClockworkMiddleware');
}
parent::__construct($app, $router);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句