Как создать конструктор для ребенка, который нужно запустить, когда родитель работает? - PullRequest
0 голосов
/ 22 октября 2011

У меня есть родительский класс, занимающийся регистрацией всех видов деятельности.Теперь я хочу использовать дочерний класс для добавления дополнительных данных к некоторым действиям.Это означает, что мне нужны переменные родителя о действиях, и мне нужно запустить дочерний элемент при вызове родителя.

Это конструктор родителя:

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
    );
}

В функциях, которые вызывают дочерний объект, я предоставлю массив данных по умолчанию.Ребенок будет вызван в том же месте, что и вызываемый родитель.Этот код работает?

1 Ответ

1 голос
/ 22 октября 2011

Я прочитал вопрос несколько раз и считаю его невероятно запутанным. Я бы очень хотел вам помочь, но думаю, что было бы проще, если бы вы уточнили, что именно вы хотите и что должна делать система.

Почему вы должны запускать родительский класс при запуске дочернего класса? Не могли бы вы попытаться передать информацию в дочерний класс? Кроме того, почему вы вызываете конструктор через другой метод, если он все равно будет инициализирован перед методом CD_Log?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...