Мне нужно, чтобы конструктор класса в PHP вызывал конструктор его родителя parent (grandparent?) Без вызова родительского конструктора.
// main class that everything inherits
class Grandpa
{
public function __construct()
{
}
}
class Papa extends Grandpa
{
public function __construct()
{
// call Grandpa's constructor
parent::__construct();
}
}
class Kiddo extends Papa
{
public function __construct()
{
// THIS IS WHERE I NEED TO CALL GRANDPA'S
// CONSTRUCTOR AND NOT PAPA'S
}
}
Я знаю, что это странная вещь, и я пытаюсь найти средство, которое не пахнет плохо, но, тем не менее, мне любопытно, возможно ли это.
EDIT
Я подумал, что должен опубликовать обоснование для выбранного ответа. Причина в том, это наиболее элегантное решение проблемы вызова конструктора «дедушки и бабушки» при сохранении всех значений. Это, конечно, не лучший подход и не ООП-дружественный, но вопрос не в этом.
Для тех, кто сталкивается с этим вопросом позднее - Пожалуйста, найдите другое решение . Я смог найти гораздо лучший подход, который не нанес бы ущерба структуре класса. Так и вам.