Переопределение констатнты предка.

Agatov

Новичок
Переопределение констатнты предка.

PHP:
class A
{
const ACONST = 'abc';

public static function afunc()
{
//... Какой-то код, в котором используется self::ACONST
}
}

class B extends A
{
const BCONST = 'cba';

public static function afunc()
{
// можно ли как то сделать, чтобы в методе предка вместо значения A::ACONST, использовалось значение B::BCONST
parent::afunc();
}
}
Пишу обёртку для API Propel, нужно чтобы его методы возвращали немного другой, определённый в классе-наследнике класс объекта. А класс возвращаемого объекта забит, как константы базового класса. Перебить в базовом классе - не вариант, так как при перестроении модели базовый класс генерируется заново.

--
Извиняюсь за слегка двузначное название темы, я понимаю, что под переопределением понимается немного другой процесс.
 

Black Raven

Новичок
может лучше proxy pattern для генерируемых объектов?

а вообще что конкретно ты хочешь сделать?
 

Agatov

Новичок
в базовом классе есть метод, который возвращает экземпляр другого класса. Класс возвращаемого экземпляра определяется константой, определённой в базовом классе. В классе-потомке, я вызываю этот самый метод, но мне нужно, чтобы он вернул экземпляр другого класса ( потомка того, который он возвращает ), а не тот, который забит в константу базового класса.

Если так получится сделать, то в итоге выйдет очень красивое ООП-решение надстройки над ORM.
 

AmdY

Пью пиво
Команда форума
ститик это не ООП
в методе класса B явно передавай константу в статик метод класса A
 
Сверху