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', ''),
        ];
    }
}
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
ibucoin

getenv是获取环境变量的

getenv

5年前 评论

@ibucoin 是用 $ heroku config:set IS_IN_HEROKU=true 这行命令写入的环境变量吗?

5年前 评论

是执行完 heroku addons:add heroku-postgresql:hobby-dev 以后有的DATABASE_URL
执行完那个命令 用 heroku config 可以在里面看到

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!