helpers.php 文件中的 getenv 方法是有什么用的?从.ENV 文件获取值?传这个参数我看.ENV 文件也没这个 IS_IN_Heroku 啊?
想理清一下逻辑
这代码的getenv是个什么函数,传的这个IS_IN_HEROKU参数又是如何获取的?
来来解释下?
<?php
/*
* 一般来说,应用的数据库都在 config/database.php 中进行配置,
* 因此我们需要针对该配置文件,来为不同环境的数据库连接方式定义一个帮助方法,
* 以便根据应用不同的运行环境来指定数据库配置信息,我们需要新建一个 helpers.php 文件并写入以下内容:
*/
function get_db_config()
{
if (getenv('IS_IN_HEROKU')) {
$url = parse_url(getenv("DATABASE_URL"));
return $db_config = [
'connection' => 'pgsql',
'host' => $url["host"],
'database' => substr($url["path"], 1),
'username' => $url["user"],
'password' => $url["pass"],
];
} else {
return $db_config = [
'connection' => env('DB_CONNECTION', 'mysql'),
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
];
}
}
推荐文章: