clippings/env-backup

备份/还原环境变量:全局变量、静态变量、配置

0.2.5 2014-04-30 11:33 UTC

This package is auto-updated.

Last update: 2024-09-21 20:38:32 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

备份/还原环境变量:全局变量和静态变量。这对于初始化测试环境非常有用。保持当前环境状态,以免干扰其他测试。

您可以为环境添加“参数”,每个“应用”和“还原”特定超全局或类的静态属性,您甚至可以保持文件系统的精确状态。

  • GlobalParam - 用于设置/还原 '_POST', '_GET', '_FILES', '_SERVER', '_COOKIE' 和 '_SESSION'
  • ServerParam - 特定用于 '_SERVER' 超全局变量,因此您可以仅设置/还原其部分内容,例如 'REMOTE_HOST', 'CLIENT_IP ...'
  • StaticParam - 用于设置/还原类的静态属性,它可以处理受保护和私有属性。
  • FileParam - 用于设置/还原文件及其内容。确保特定文件及其内容存在,并还原先前的状态
  • DirectoryParam - 用于设置/还原整个目录及其所有内容。确保特定目录及其内容存在,并还原先前的状态

示例

use CL\EnvBackup\Env;
use CL\EnvBackup\GlobalParam;
use CL\EnvBackup\ServerParam;
use CL\EnvBackup\StaticParam;

$env = new Env(array(
    new GlobalParam('_POST', array('new post name' => 'val')),
    new ServerParam('REMOTE_ADDR', '1.1.1.1'),
    new StaticParam('MyClass', 'private_var', 10)
    new FileParam('/path/to/file', 'file content')
    new DirectoryParam('/path/to/dir', array(
        'file1.txt' => 'file contents',
        'inner_dir' => array(
            'inner_file1.csv' => 'a, b',
            'inner_file2.txt' => 'test',
        )
    ))
));

$env->apply();

// Do some stuff that changes / uses these variables
// ...

$env->restore();

CLI中的ServerParam

在CLI环境中,$_SERVER 变量与通过apache或cgi运行的脚本非常不同。如果您想在这样的环境中使用 env-backup,您可以通过传递 ServerParam::CLI 如此操作

$env = new Env(array(
    new ServerParam('HOME', '/test/home', ServerParam::CLI),
    new ServerParam('argc', 4, ServerParam::CLI),
));

许可证

版权 (c) 2014,Clippings Ltd。由Ivan Kerin作为 clippings.com 的一部分开发

在 BSD-3-Clause 许可证下,阅读 LICENSE 文件。