openbuildings/environment-backup

备份/恢复环境变量:全局变量、静态变量、配置

0.1.2 2016-10-01 12:08 UTC

This package is auto-updated.

Last update: 2024-09-21 20:41:12 UTC


README

设置环境变量:全局变量、静态变量、Kohana配置等,然后恢复其原始值。这在测试时非常有用,您想要为测试设置特定的环境,但又不想让该测试影响其外的其他代码。

环境类使用一些环境组初始化,每个组处理特定类型的环境。您可以轻松添加更多类来处理不同的环境。

您添加的每个环境组都有一个唯一的名称,用于命名其变量,以便它知道如何处理其备份

  • '_POST', '_GET', '_FILES', '_SERVER', '_COOKIE' 和 '_SESSION' 由 'Environment_Group_Globals' 处理
  • 'REMOTE_HOST', 'CLIENT_IP' 和 '_SERVER' 变量中的所有其他变量由 Environment_Group_Server 处理(这用于轻松备份/恢复 $_SERVER 超全局的特定变量)
  • 'SomeClass::$variable' 用于处理静态变量 - Environment_Group_Static 可以通过它备份/恢复公共、受保护和私有变量
  • 'group.config_var' 用于通过 Environment_Group_Config 处理 Kohana 配置设置 - 这仅在 Kohana 框架环境中使用

示例

$environment = new Environment(array(
	'globals' => new Environment_Group_Globals(),
	'server' => new Environment_Group_Server(),
	'static' => new Environment_Group_Static(),
));

$environment->backup_and_set(array(
	'_POST' => array('new stuff'),
	'REMOTE_HOST' => 'example.com',
	'MyClass::$private_var' => 10
));

// Do some stuff that changes / uses these variables

$environment->restore();

许可

版权所有 (c) 2012-2013, OpenBuildings Ltd。由 Ivan Kerin 在 clippings.com 开发

根据 BSD-3-Clause 许可证,请阅读 LICENSE 文件。