在 PHP 中调用父构造函数之前调用父构造函数
2022-08-30 15:15:07
我想知道是否可以在PHP中具有继承权的孩子__construct()之前调用父__construct()。
例:
class Tag {
__construct() {
// Called first.
}
}
class Form extends Tag {
__construct() {
// Called second.
}
}
new Form();
理想情况下,我能够在它们之间做一些事情。如果这是不可能的,有没有替代方案,允许我这样做?
我想这样做的原因是能够加载一堆特定于表单在调用__construct()时可以使用的标签的默认设置。
编辑:对不起忘了添加这个..我宁愿不从子类调用父类。这仅仅是因为它向孩子公开了一些私人数据(对于父数据),当你把它作为一个参数传递时。
这就是我想做的:
$tag = new Tag($privateInfo, $publicInfo);
$tag->extend(new Form()); // Ideal function, prob doesn't work with inheritance.
标签.php
class Tag {
private $privateInfo;
public $publicInfo;
__construct($private, $public) {
$this->privateInfo = $private;
$this->publicInfo = $public;
}
}
形式.php
class Form extends Tag {
__construct() {
echo $this->publicInfo;
}
}
有意义?
谢谢!马特·穆勒