1
グローバル変数$_SERVER
から1つのパラメータを設定ファイル(app.php)に入れて、SERVER_NAME
にアクセスし、どの静的リソース使用するサーバー。Laravel 5.x設定ファイルのPHPスーパーグローバル変数にアクセスする最も良い方法
$staticUrlMap['local.example.com'] = 'localstatic.example.com';
$staticUrlMap['dev.example.com'] = 'devstatic.example.com';
$staticUrlMap['stage.example.com'] = 'stagestatic.example.com';
$staticUrlMap['preprod.example.com'] = 'preprodstatic.example.com';
$staticUrlMap['my.example.com'] = 'static.example.com';
$staticUrl = '';
if(!empty($_SERVER['SERVER_NAME']))
{
$staticUrl = $staticUrlMap[$_SERVER['SERVER_NAME']];
}
return [
'static_url' => $staticUrl,
];
laravel-configファイルに直接$_SERVER
を使用するよりも、この他を達成するためのより良い方法はありますか?
'$ _SERVER'を使って何が問題になったのですか?実際、私はLaravelを知らないので読みやすくなっていると思います。しかし、私はほぼ7年間PHPをコーディングしており、確かに$ _SERVERが何であるかを知っています。 P.S - 組み込みの機能性のない無意味なラッパーを使用するフレームワークは本当に嫌いです。つまり、コマンドラインからPHPを実行するとき(CLI)、メモリが私に役立つなら、サーバー名は存在しないと思う。 – ArtisticPhoenix
あなたは正しい@ArtisticPhoenixですが、CLIから実行すると$ _SERVERを持たないので、私は "php artisan"コマンドを実行している間に警告が表示されないように空のチェックを行います。 私はプログラミングに入っていますが、Laravelの新人であり、専門家のアドバイスを受けて傷ついていないと思っています。 – Dharmavir
それは、CLIがApacheの内部で実行されないため、サーバーが存在しないからです。はじめまして。 – ArtisticPhoenix