$property)) { foreach ($this->$property as $key => $val) { if ($value = $this->getEnvValue("{$property}.{$key}", $prefix, $shortPrefix)) { if (is_null($value)) continue; if ($value === 'false') $value = false; elseif ($value === 'true') $value = true; $this->$property[$key] = $value; } } } else { if (($value = $this->getEnvValue($property, $prefix, $shortPrefix)) !== false ) { if (is_null($value)) continue; if ($value === 'false') $value = false; elseif ($value === 'true') $value = true; $this->$property = $value; } } } } //-------------------------------------------------------------------- /** * Retrieve an environment-specific configuration setting * @param string $property * @param string $prefix * @param string $shortPrefix * @return type */ protected function getEnvValue(string $property, string $prefix, string $shortPrefix) { if (($value = getenv("{$shortPrefix}.{$property}")) !== false) { return $value; } elseif (($value = getenv("{$prefix}.{$property}")) !== false) { return $value; } elseif (($value = getenv($property)) !== false) { return $value; } return null; } //-------------------------------------------------------------------- }