无论如何,是否可以在不调用其构造函数的情况下创建 php 类的实例?
我有 A 类,在创建它的实例时传递文件,在 A 类的构造函数中打开文件。
现在在 A 类中,有一个我需要调用但不需要传递文件的函数,因此不需要使用打开文件的构造函数功能,因为我没有传递文件。
所以我的问题是,是否可以通过任何方式创建 PHP 类的实例而不调用其构造函数?
注意 我不能像在函数中使用某些类属性那样将函数设为静态。
最佳答案
在你的情况下,我建议考虑重新设计你的代码,这样你就不需要做这样的事情,但要回答你的问题:是的,这是可能的。
您可以使用 ReflectionClass它的方法newInstanceWithoutConstructor在 PHP 5.4 中引入 然后无需调用其构造函数即可轻松创建类的实例:
$reflection = new ReflectionClass("ClassName");
$instance = $reflection->newInstanceWithoutConstructor(); //That's it!
关于php - 在 PHP 中,是否可以在不调用类的构造函数的情况下创建类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2555883/