php 构造函数会在创建类对象时自动调用。然而,有时可能需要手动调用它,本文将介绍如何实现。
方法 1:绕过自动调用
在构造对象时,无法阻止构造函数的自动调用。因此,如果需要延迟执行某些操作,可以将其移至其他方法。建议使用 init() 方法。
立即学习“PHP免费学习笔记(深入)”;
示例代码:
class test { public function __construct($param1, $param2, $param3) { echo $param1.$param2.$param3; } } $ob = new test('p1', 'p2', 'p3');
方法 2:子类化并覆盖
可以通过子类化原始类并覆盖其构造函数来阻止构造函数被自动调用。子类化后的构造函数不执行任何操作。
示例代码:
class SubTest extends Test { public function __construct() { // 不调用父类的构造函数 } public function init($param1, $param2, $param3) { parent::__construct($param1, $param2, $param3); } } $ob = new SubTest(); $ob->init('p1', 'p2', 'p3');
注意,此方法仅在无法更改原始代码且需要纠正其构造函数不当行为时使用。