cyberinferno / yii2-phpdotenv

phpdotenv Yii2 扩展

安装数: 10,652

依赖项: 0

建议者: 0

安全: 0

星标: 7

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

2.0.1 2017-06-29 08:16 UTC

This package is auto-updated.

Last update: 2024-09-19 04:14:41 UTC


README

这是一个为 vlucas/phpdotenv 的 Yii2 扩展

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

php composer.phar require cyberinferno/yii2-phpdotenv

或者

"cyberinferno/yii2-phpdotenv": "~2.0.0"

将以下内容添加到你的 composer.json 的 require 部分。

配置

用法

return [
    //....
    'bootstrap' => [
        [
            'class' => 'cyberinferno\yii\phpdotenv\Loader',
            'path' => '@vendor/../', // Directory of the .env file 
            'file' => '.env', // Optional parameter if custom environment variable file
            'overload' => false, // Optional parameter whether to overload already existing environment variables. Defaults to false
        ],
    ]
];

要使用将访问环境变量的组件,可以像这样扩展 Loader 类:

<?php

namespace common\components;

use cyberinferno\yii\phpdotenv\Loader;
use yii\helpers\ArrayHelper;

class PhpdotenvLoader extends Loader
{
    public function bootstrap($app)
    {
        parent::bootstrap($app);
        $app->setComponents(ArrayHelper::merge($app->getComponents(),
            [
                'db' => [
                    'class' => 'yii\db\Connection',
                    'dsn' => getenv('DB_DSN'),
                    'username' => getenv('DB_USERNAME'),
                    'password' => getenv('DB_PASSWORD'),
                    'charset' => 'utf8',
                ],
            ]
        ));
    }
}

按照以下方式在配置中启动此类:

return [
    //....
    'bootstrap' => [
        [
            'class' => 'common\components\PhpdotenvLoader'
        ],
    ]
];

此扩展经过测试,与 Yii2 Advanced 模板 兼容良好
但可以通过在启动扩展时发送正确的 .env 文件路径在任何 Yii2 应用中使用。