PHP ReflectionClass::newInstance 反射函数

  • 定义和用法

    ReflectionClass::newInstance - 从指定的参数创建一个新的类实例
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 支持 支持
  • 语法

    ReflectionClass::newInstance(  mixed $args [, mixed $... ] )
    ReflectionClass::newInstance() 创建类的新的实例。给出的参数将会传递到类的构造函数。
  • 参数

    参数 必需的 描述
    args 接受可变数目的参数,用于传递到类的构造函数,和 call_user_func() 很相似。
    ... 更多参数
  • 返回值

    成功时返回 TRUE, 或者在失败时返回 FALSE。
    如果类的构造函数不是 public 的将会导致一个 ReflectionException。 当 args 指定了一个或多个参数,而类不具有构造函数时,将导致一个 ReflectionException 异常。
  • 示例

    class a {
            public function __construct($c) {
            }
    }
    
    // this works
    $a = new a(11);
    var_dump( $a );
    // also this works
    $classname = "a";
    $a = new $classname(10);
    var_dump( $a );
    
    $r = new ReflectionClass("a");
    $a = $r->newInstance(10);
    var_dump( $a );
    
    尝试一下
  • 相关页面

    ReflectionClass::newInstanceArgs() - 从给出的参数创建一个新的类实例。
    ReflectionClass::newInstanceWithoutConstructor() - 创建一个新的类实例而不调用它的构造函数