Api函数,实现动态实例化类

jerry thinkphp 2015年11月19日 收藏
* 动态实例化类库
* 原来使用 $page = new \Common\Api\Page('a', 'b');
* 现在只需要$page = Api('Page','a','b')
  1. /**
  2.  * 调用api实例化类库
  3.  * 原来使用 $page = new \Common\Api\Page('a', 'b');
  4.  * 现在只需要$page = Api('Page','a','b')
  5.  * @param $class_name 类名
  6.  * @param $param1 参数1
  7.  * @author 娃娃脾气
  8.  */
  9. function Api(){
  10.     $args = func_get_args();
  11.     $class_name = array_shift($args);
  12.     $class  =   strpos($class_name,'\\')? $class_name : 'Common\\Api\\'.ucwords(strtolower($class_name));
  13.     $class_example = new ReflectionClass($class);
  14.     return $class_example->newInstanceArgs($args);
  15. }
-----------

7月9日:
不要用了,无法判断类里面是否有__construct方法,导致出错。
暂时没想到如何解决。