clippings / env-backup
备份/还原环境变量:全局变量、静态变量、配置
0.2.5
2014-04-30 11:33 UTC
README
备份/还原环境变量:全局变量和静态变量。这对于初始化测试环境非常有用。保持当前环境状态,以免干扰其他测试。
您可以为环境添加“参数”,每个“应用”和“还原”特定超全局或类的静态属性,您甚至可以保持文件系统的精确状态。
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 文件。