Рекомендации по использованию parent

  • Автор темы Автор темы Grey_EM
  • Дата начала Дата начала

Grey_EM

Guest
Рекомендации по использованию parent

Предположим я хочу вызвать конструктор родительского класса в конструкторе наследуемого класса.
PHP:
SomeClass::SomeClass();
Однако я могу воспользоваться также синтаксисом
PHP:
parent::SomeClass();
В чем разница подобных подходов в данном конкретном случае кроме идеологии?
 
Дело не в Cut'n'past
При изменении иерархии классов может измениться родитель, и тогда придется переделывать все вызовы методов родительского класса (если использовалась нотация SomeClass::). Нотация parent:: помогает избежать лишней работы
 
Как говорит Manual:

Instead of using the literal name of the base class in your code, you should be using the special name parent, which refers to the name of your base class as given in the extends declation of your class. By doing this, you avoid using the name of your base class in more than one place. Should your inheritance tree change during implementation, the change is easily made by simply changing the extends declaration of your class.

PHP Manual -> Language Reference -> Classes and Objects -> parent

Удачи.
 
Изменение положение в иерархии обычно связано с куда бОльшими переделками. чем просто смена одного имени в конструкторе. :)
 
С этим никто не спорит, но я говорил про лишнюю работу.

Автор оригинала: Crazy
Изменение положение в иерархии обычно связано с куда бОльшими переделками. чем просто смена одного имени в конструкторе. :)
 
Автор оригинала: Crazy
Изменение положение в иерархии обычно связано с куда бОльшими переделками. чем просто смена одного имени в конструкторе. :)
Такое изменение иерархии когда у класса меняется родитель вызывает гораздо больше головной боли чем просто пройтись по коду и грепом поменять имена. Это собственно вообще не проблема по сравнению с изменением родителя как такового.
Вообщем предпочтения пока из разряда идеологических.
 
Сверху