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

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

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