手动调用类构造函数
在 php 中,构造函数通常会在实例化类时自动调用。但是,有时您可能需要手动调用构造函数。
方法
虽然不能阻止自动调用构造函数,但可以通过以下方法手动调用它:
立即学习“PHP免费学习笔记(深入)”;
if (method_exists($ob, '__construct')) { call_user_func_array(array($ob, '__construct'), $params); }
其中:
建议
如果您希望在构建对象后才执行构造函数中的某种功能,则可以将其移到单独的方法中。您可以将该方法命名为 init()。
hacky 方法
如果需要防止构造函数自动调用,可以采用以下技巧:
子类化原始类并使用空构造函数覆盖原始构造函数。然后,在子类中创建一个 init() 方法,在其中调用父类的构造函数并传递必要的参数。
虽然该方法不建议用于一般用途,但它可以在解决特定问题时提供帮助。