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

Grey_EM

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

Предположим я хочу вызвать конструктор родительского класса в конструкторе наследуемого класса.
PHP:
SomeClass::SomeClass();
Однако я могу воспользоваться также синтаксисом
PHP:
parent::SomeClass();
В чем разница подобных подходов в данном конкретном случае кроме идеологии?
 

nail

Guest
Дело не в Cut'n'past
При изменении иерархии классов может измениться родитель, и тогда придется переделывать все вызовы методов родительского класса (если использовалась нотация SomeClass::). Нотация parent:: помогает избежать лишней работы
 

kvn

programmer
Как говорит 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

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

nail

Guest
С этим никто не спорит, но я говорил про лишнюю работу.

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

Grey_EM

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