如何检测当前运行环境是 Laravel 还是 Lumen 框架?
如果你编写的扩展需要支持 Lumen 和 Laravel 的话,以下方法可以用来区分不同环境。
你的 ServiceProvider 里区分不同环境来加载不同的配置信息:
/**
* Setup the config.
*
* @param \Illuminate\Contracts\Container\Container $app
*
* @return void
*/
protected function setupConfig(Container $app)
{
$source = realpath(__DIR__.'/../config/bugsnag.php');
if ($app instanceof LaravelApplication && $app->runningInConsole()) {
$this->publishes([$source => config_path('bugsnag.php')]);
} elseif ($app instanceof LumenApplication) {
$app->configure('bugsnag');
}
$this->mergeConfigFrom($source, 'bugsnag');
}
或者:
$app = app();
if ($app instanceof LaravelApplication) {
// Laravel
} elseif ($app instanceof LumenApplication) {
// Lumen
}