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);
- }
- }
- ?>
|