这是我在bootstrap / app.php中添加的怪异代码:
$host = $SERVER['HTTPHOST'] == 'test.local:8000';
var_dump($host);
if ($host) {
var_dump($host);
$app->loadEnvironmentFrom('.env.testing');
}
发生了什么事
当我尝试获取上面的网址时,$ host始终为true。我看到两个函式(真,真),但是.env没有加载。 (默认值为)
但是如果我将其更改为if(true),它会突然起作用。如果我将它放在if之外,它也可以工作。为什么会这样呢?这似乎完全不合逻辑。
答案 0 :(得分:0)
让我们提醒一些php课程。 要检查变量是否为空,可以执行
if($var){}
如果变量具有值,则返回true,否则返回false。
在这种情况下,您在执行$host = $SERVER['HTTPHOST'] == 'test.local:8000';
时会为$ host变量分配一个值。因此,如果始终返回true。
您可以做的是:
if ($host == "test.local:8000") {
var_dump($host);
$app->loadEnvironmentFrom('.env.testing');
}else{
//do some stuff
}