Hello! 欢迎来到小浪资源网!

PHP中如何手动调用类构造函数?


PHP中如何手动调用类构造函数?

手动调用类构造函数

php 中,构造函数通常会在实例化类时自动调用。但是,有时您可能需要手动调用构造函数。

方法

虽然不能阻止自动调用构造函数,但可以通过以下方法手动调用它:

立即学习PHP免费学习笔记(深入)”;

if (method_exists($ob, '__construct')) {     call_user_func_array(array($ob, '__construct'), $params); }

其中:

  • $ob 是要调用的类的实例。
  • ‘__construct’ 是构造函数的名称。
  • $params 是要传递给构造函数的参数数组

建议

如果您希望在构建对象后才执行构造函数中的某种功能,则可以将其移到单独的方法中。您可以将该方法命名为 init()。

hacky 方法

如果需要防止构造函数自动调用,可以采用以下技巧:

子类化原始类并使用空构造函数覆盖原始构造函数。然后,在子类中创建一个 init() 方法,在其中调用父类的构造函数并传递必要的参数。

虽然该方法不建议用于一般用途,但它可以在解决特定问题时提供帮助。

相关阅读