| 123456789101112131415161718192021222324252627282930313233343536 | <?php/* * 支付模块调用工厂 */class pay_factory  {		public function __construct($adapter_name = '', $adapter_config = array()) {		$this->set_adapter($adapter_name, $adapter_config);	}	/**	 * 构造适配器	 * @param  $adapter_name 支付模块code	 * @param  $adapter_config 支付模块配置	 */	public function set_adapter($adapter_name, $adapter_config = array()) {		if (!is_string($adapter_name)) return false;		else {			$class_name = ucwords($adapter_name);			pc_base::load_app_class($class_name,'','0');			$this->adapter_instance = new $class_name($adapter_config);		}		return $this->adapter_instance;	}		public function __call($method_name, $method_args) {		if (method_exists($this, $method_name))			return call_user_func_array(array(& $this, $method_name), $method_args);		elseif (			!empty($this->adapter_instance)			&& ($this->adapter_instance instanceof paymentabstract)			&& method_exists($this->adapter_instance, $method_name)		) 		return call_user_func_array(array(& $this->adapter_instance, $method_name), $method_args);	}	}?>
 |