neemzy/environ

此包最新版本(1.0.0)没有可用的许可信息。

轻量级环境管理器

1.0.0 2016-02-18 18:15 UTC

This package is auto-updated.

Last update: 2024-08-26 16:12:30 UTC


README

轻量级环境管理器

如何使用

1. 实例化

$environ = new Neemzy\Environ\Manager();

2. 添加环境

在添加环境时,您必须指定

  • 一个名称
  • 一个条件闭包
  • 一个回调闭包
$environ
    ->add(
        'dev',
        new Neemzy\Environ\Environment(
            function () {
                return preg_match('/localhost/', $_SERVER['SERVER_NAME']);
            },
            function () {
                $pdo = new PDO('sqlite:dev.db');
            }
        )
    )
    ->add(
        'prod',
        new Neemzy\Environ\Environment(
            function () {
                return true;
            },
            function () {
                $pdo = new PDO('mysql:host=MYHOST;dbname=MYDBNAME', 'MYUSER', 'MYPASSWORD');
            }
        )
    );

您可以像上面那样链式声明。

3. ???

$environ->init();

这将浏览您上面声明的环境。当条件闭包返回一个真值时,第一个环境被设置为当前环境,并触发其回调闭包。

4. 收益!

假设您正在localhost上。

// This will print 'dev'
echo($environ->get());

// Triggers the callback as well
$environ->set('prod');

if ($environ->is('prod')) {
    // There you go !
}