laravel не загружает env, если в предложении IF, даже если условие истинно; - PullRequest
0 голосов
/ 24 октября 2018

вот мой странный код, добавленный в bootstrap / app.php:

$host = $SERVER['HTTPHOST'] == 'test.local:8000';
var_dump($host);
if ($host) {
    var_dump($host);
    $app->loadEnvironmentFrom('.env.testing');
}

И что происходит:

$ host всегда верен, когда я пытаюсь получить URL выше,Я вижу два vardumps (true, true), но .env не загружается.(по умолчанию)

НО, если я изменю его на if (true), он внезапно сработает.Если я положу это вне if, это также работает.Почему это происходит?Это кажется совершенно нелогичным.

1 Ответ

0 голосов
/ 24 октября 2018

Напомним некоторые уроки php.Чтобы проверить, является ли переменная пустой или нет, вы можете сделать

if($var){}

, если переменная имеет значение, это вернет true, если нет, то вернет false.

В вашем случаеВы присваиваете значение переменной $ host, когда делаете $host = $SERVER['HTTPHOST'] == 'test.local:8000';.Поэтому if всегда возвращает true.

Что вы можете сделать:

if ($host == "test.local:8000") {
     var_dump($host);
     $app->loadEnvironmentFrom('.env.testing');
}else{
     //do some stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...