| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?php
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/
$app = new Illuminate\Foundation\Application(
    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
/*
|--------------------------------------------------------------------------
| Bind Important Interfaces
|--------------------------------------------------------------------------
|
| Next, we need to bind some important interfaces into the container so
| we will be able to resolve them when needed. The kernels serve the
| incoming requests to this application from both the web and CLI.
|
*/
$app->singleton(
    Illuminate\Contracts\Http\Kernel::class,
    App\Http\Kernel::class
);
$app->singleton(
    Illuminate\Contracts\Console\Kernel::class,
    App\Console\Kernel::class
);
$app->singleton(
    Illuminate\Contracts\Debug\ExceptionHandler::class,
    App\Exceptions\Handler::class
);
/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/
// 環境偵測(需要事先在 php.ini 中做好相關設定,若線上環境不支援修改則直接套用預設的 .env)
$ore = 'pre';
$compare = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : __DIR__;
// 正式站新網址
$ore = (str_replace('www.', '', $compare) != $compare) ? 'pro' : $ore;
// 測試站
$ore = (str_replace('demo.', '', $compare) != $compare) ? 'pre' : $ore;
if(!defined('APP_MODE')){
    define('APP_MODE', $ore);
}
// $app->loadEnvironmentFrom('.env.'.$ore);
$app->loadEnvironmentFrom('.env.pre');
return $app;
 |