Цитата
|
Александр Маджугин написал:
Наследовать - такого не попадалось по правде говоря. Но я в принципе не люблю комплексные компоненты. Это же в комплексном пришлось так делать?
|
Да, задача редкая очень. Нет, это не комплексный. Грубо говоря, представим, что у вас ЛЮБОЙ компонент на сайте делать всегда точно несколько вещей. Ну к примеру хитро формировать JS-код в зависимости от страницы. Можно обработчиком, к примеру, но тогда этот код плевался бы на любую страницу. Я поступил хитрее - код выплевывает родитель, а пасынки, наследуя его, выполняют и его код (автоматически), и свой родной.
Типа такого:
Код
|
public function executeComponent()
{
parent::executeComponent();
}
|
Если нужен пример поближе - представим, что у вас куча лент новостей, одна с одним набором полей и логики, другая с прочим набором. Вы склеиваете все общее в родительский компонент, а все дочерние наследуются от него. И тогда любой пасынок может заюзать любые поля, вызвав в execcute нужный метод.
Как раз в случае ООП вы ничего не "таскаете за собой".
Назад в раздел