English | 简体中文 | 繁體中文
查询

ReflectionClass::newInstanceWithoutConstructor()函数—用法及示例

「 创建一个类的新实例,而不调用其构造函数 」


函数名称:ReflectionClass::newInstanceWithoutConstructor() 

适用版本:PHP5 >= 5.4.0, PHP 7

函数描述:ReflectionClass::newInstanceWithoutConstructor() 方法创建一个类的新实例,而不调用其构造函数。

用法:

public ReflectionClass::newInstanceWithoutConstructor ( void ) : object

参数说明: 此函数没有参数。

返回值: 返回一个新的类实例。

示例:

class MyClass {
    private $name;
    
    public function __construct($name) {
        $this->name = $name;
        echo 'Constructor called';
    }
    
    public function getName() {
        return $this->name;
    }
}

// 创建反射类实例
$reflectionClass = new ReflectionClass('MyClass');

// 创建新实例,但不调用构造函数
$newInstance = $reflectionClass->newInstanceWithoutConstructor();

// 调用类中的方法
echo $newInstance->getName(); // 输出:null

在上面的示例中,我们创建了一个名为MyClass的类,并在构造函数中设置了一个属性$name。然后,通过实例化ReflectionClass来获取类的反射,并使用newInstanceWithoutConstructor()方法创建了一个新的类实例,但不调用构造函数。最后,我们调用getName()方法来获取$name属性的值,由于构造函数没有被调用,所以返回的是null

请注意,这个函数只能在PHP5.4.0及以上版本和PHP7中使用。

补充纠错
热门PHP函数
分享链接