时间:2021-07-01 10:21:17 帮助过:11人阅读
ReflectionClass::__construct — 构造一个 ReflectionClass 类
public ReflectionClass::__construct ( mixed $argument )
ReflectionClass::newInstanceArgs — 从给出的参数创建一个新的类实例,给出的参数将传递到类的构造函数。
public object ReflectionClass::newInstanceArgs ([ array $args ] )
/thinkphp/library/think/Container.php
/** * 调用反射执行类的实例化 支持依赖注入 * @access public * @param string $class 类名 * @param array $vars 参数 * @return mixed */ public function invokeClass($class, $vars = []) { try { $reflect = new ReflectionClass($class); $constructor = $reflect->getConstructor(); //用于支持依赖的注入 $args = $constructor ? $this->bindParams($constructor, $vars) : []; return $reflect->newInstanceArgs($args); } catch (ReflectionException $e) { throw new ClassNotFoundException('class not exists: ' . $class, $class); } }
相关推荐:
详解php反射方法调用执行类中的私有方法
简述php反射机制实例详解
php反射机制详以及插件架构实例详解
以上就是php反射机制讲解的详细内容,更多请关注Gxl网其它相关文章!