我有一个父类在所有活动上做日志记录工作。 现在我想使用子类为一些活动添加其他数据。这意味着我需要父母关于活动的变量,并且我需要在调用父项时运行子项。
这是父的构造函数:
function CD_Log( $id = false ) {
$this->__construct( $id );
}
function __construct( $id = false ) {
if ( !empty( $id ) ) {
$this->id = $id;
$this->populate();
}
}
这就是我认为子构造函数的方式:
function __construct( $args = array() ) {
parent::__construct($child_id);
$defaults = array(
'child_id' => 0, //the child has its own id
'child_data' => 0, //extra data
'parent_data' => $this->data // inheritage from parent
);
}
在调用子代的函数中,我将提供默认数据数组。孩子将被呼叫在父母被叫的同一个地方。这段代码有用吗?
答案 0 :(得分:1)
我已多次阅读这个问题并发现令人难以置信的混乱。我真的很想帮助你,但是如果你更清楚地了解你想要什么以及系统应该做什么,我会更容易。
为什么在运行子类时必须运行父类?您可以尝试将信息委托给子类吗?另外,为什么要在CD_Log
方法之前初始化它时通过另一种方法调用构造函数呢?