| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- <?php
 
- namespace KIF\Core;
 
- use KIF\Core\Config;
 
- use Exception;
 
- /**
 
-  * 
 
-  * In Process Call的缩写,即 进程内调用
 
-  * 目的:
 
-  *     1、保护上下文环境
 
-  *     2、简化调用代码
 
-  * 使用场景:
 
-  *     支持在任何地方调用基于KIF框架的app。
 
-  * @author husserlgao
 
-  *
 
-  */
 
- class IPC {
 
- 	/**
 
- 	 * 
 
- 	 * 调用
 
- 	 * @param string $conf_file 要调用的app类的配置文件
 
- 	 * @param callback $callback 回调执行的函数
 
- 	 */
 
- 	static public function call($callback, $conf_file) {
 
- 		# 尝试保存调用前的配置
 
- 		try {
 
- 			$pre_app_conf_path = Config::getInstance()->get('conf_path');
 
- 		} catch (Exception $e) {
 
- 			$pre_app_conf_path = false;
 
- 		}
 
- 		
 
- 		Config::load($conf_file);
 
- 		$callback();
 
- 		
 
- 		# 恢复到调用前的应用配置
 
- 		if ($pre_app_conf_path) {
 
- 			Config::load($pre_app_conf_path);
 
- 		}
 
- 	}
 
- 	
 
- /**
 
- 	 * 
 
- 	 * 调用!!!这是个临时的方法,只因没有时间去把调call的地方改过来。
 
- 	 * @param string $conf_file 要调用的app类的配置文件
 
- 	 * @param callback $callback 回调执行的函数
 
- 	 */
 
- 	static public function call2($callback, $conf_file) {
 
- 		# 尝试保存调用前的配置
 
- 		try {
 
- 			$pre_app_conf_path = Config::getInstance()->get('conf_path');
 
- 		} catch (Exception $e) {
 
- 			$pre_app_conf_path = false;
 
- 		}
 
- 		
 
- 		Config::load($conf_file);
 
- 		$callback();
 
- 		
 
- 		# 恢复到调用前的应用配置
 
- 		if ($pre_app_conf_path) {
 
- 			Config::load($pre_app_conf_path);
 
- 		}
 
- 	}
 
- }
 
 
  |