函数名称: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中使用。