Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Использование $this->, parent:: в классах. В чем разница?
И в 1 и 2 Вариантах все работает, возможно есть какие либо тонкости о которых Я еще не нашел информации? Или кому как удобнее?
----- просто ?: сложно
Champion
Отправлено: 04 Сентября, 2011 - 18:39:23
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
$this-> - обращение в функции, описанной в текущем классе.
parent:: - к функции в родительском классе.
Если в дочернем классе функция не переопределялась, то нету разницы
tato
Отправлено: 04 Сентября, 2011 - 18:49:58
Посетитель
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
Champion пишет:
$this-> - обращение в функции, описанной в текущем классе.
parent:: - к функции в родительском классе.
Если в дочернем классе функция не переопределялась, то нету разницы
Спасибо! К сожалению рейтинг не позволяет + поставить.
----- просто ?: сложно
OrmaJever
Отправлено: 04 Сентября, 2011 - 22:24:17
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
дополню Championа $this это сылка на обьект и её нельзя использовать в статических методах или для статических свойств, для этого существует ключевые слова self и parent. self - это имя текущего класса parent - имя класса родителя
Разница между ними очевидна
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
White
Отправлено: 04 Сентября, 2011 - 22:38:31
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
OrmaJever другой вопрос, если в функции у родителя использовался указатель на объект $this, вызов ее с помощью parent:: насколько я понимаю приведет к ошибке.
----- if(time()>1356048000) die();
OrmaJever
Отправлено: 05 Сентября, 2011 - 01:26:47
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.