vadim
Guest
ООП: видимость дочерних параметров в родительском классе
Есть два класса: родителський (Р) и дочерний (S).
Я написал функцию, которая обнуляет (то есть ставит NULL) все параметры класса
Что то типа того:
Данная функция мне нужна только в дочернем классе
Все параметры типа protected
Так вот что меня беспокоит: если функция декларирована в дочернем классе, то всё работает, но если же в родительском, то ничего не происходит(и ошибок тоже нет). По идеи, если я вызываю функцию, которая наследуется от родителя, в дочернем классе, то она должна работать для дочернего класса (мои другие функции работают). А здесь как то не идёт: я наверно чтото пропустил или не понимаю
Возможно проблема в get_class_vars, она путается какой класс я имею в виду??
Есть два класса: родителський (Р) и дочерний (S).
Я написал функцию, которая обнуляет (то есть ставит NULL) все параметры класса
Что то типа того:
PHP:
function set_class_members_to_null()
{
$members=get_class_vars(get_class($this));
foreach($members as $k=>$v)
{
$this->$k=NULL;
}
}
Все параметры типа protected
Так вот что меня беспокоит: если функция декларирована в дочернем классе, то всё работает, но если же в родительском, то ничего не происходит(и ошибок тоже нет). По идеи, если я вызываю функцию, которая наследуется от родителя, в дочернем классе, то она должна работать для дочернего класса (мои другие функции работают). А здесь как то не идёт: я наверно чтото пропустил или не понимаю
Возможно проблема в get_class_vars, она путается какой класс я имею в виду??
просто я делал функцию для сортировки массива с объектами по любому параметру класса (независимо от того, как переменная этого параметра называется), и на пути к этому написал эту проблемную функцию, а сейчас просто интересно, почему не работает