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