вызов родительского метода

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
kukuruku
Сообщения: 1218
Зарегистрирован: 2011.02.14, 11:36

вызов родительского метода

Сообщение kukuruku » 2018.03.27, 08:42

есть такая иерархия

Код: Выделить всё

class C1 extends ActiveRecord
{
public function beforeSave($insert)
    {
       /////////////////////

        return parent::beforeSave($insert); // TODO: Change the autogenerated stub
    }
}

class C2 extends C1
class C3 extends C2
если теперь я хочу в классе C3 переопределить beforeSave то при вызове parent::beforeSave вызовется метод C1::beforeSave?
как этого избежать? хочу чтобы вызвался ActiveRecord::beforeSave

Аватара пользователя
yiijeka
Сообщения: 3031
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь

Re: вызов родительского метода

Сообщение yiijeka » 2018.03.27, 08:45

в класе C3 напишите -

Код: Выделить всё

public function beforeSave($insert)
{
   return ActiveRecord::beforeSave($insert);
}
но в целом так делать плохо...

kukuruku
Сообщения: 1218
Зарегистрирован: 2011.02.14, 11:36

Re: вызов родительского метода

Сообщение kukuruku » 2018.03.27, 08:53

а как правильно делать?

Аватара пользователя
yiijeka
Сообщения: 3031
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь

Re: вызов родительского метода

Сообщение yiijeka » 2018.03.27, 09:05

Код: Выделить всё

class C3 extends ActiveRecord {

   public function beforeSave($insert)
   {
       return parent::beforeSave($insert);
   }
   
}

Ответить