В новом ядре D7, активно используется ООП. Для Битрикс использования ООП – это качественный скачок.

Битрикс Компоненты

Хочу обратить ваше внимание, что Битрикс был основан еще в 1. Битрикс управление сайтом 3. И система до сегодняшнего дня, поддерживает обратную совместимость своих версий. При написание своего собственного кода на новом ядре D7, необходимо использовать ООП. Первым важным нововведением ядра D7, являются компоненты на классах.

Это возможность появилась с 1. Тоесть еще раньше релиза самого ядра D7.

Битрикс Компоненты

Плюшки: Структурированный код. Возможность наследования. Если вас по каким- то причинам, существующий компонент не устраивает, то раньше мы копировали тот компонент, который хотели изменить в свое пространство имен – в свою папку и изменяли код под свои потребности.

  • Хелп Битрикса говорит, что компонент - это некоторый блок, с помощью которого строится публичная часть сайта. Примеры компонентов - регистрация .
  • Системные компоненты находятся в папке /bitrix/components/bitrix/. Содержимое этой папки обновляется системой обновлений и не может изменяться .

Для этого надо создать папку /bitrix/components/dv. В ней делаем папку компонента — date.current. И в ней, в свою очередь, создаем два обязательных .

Сейчас можно просто отнаследоваться от компонента и переопределить методы нужного вам компонента или добавить свои. Открою class. php, тут я подготовил простой пример. Мы должны создать класс, который будет унаследован от CBitrix. Component. Наш класс я назвал – class. Components. Имя класса может быть произвольным. В данном классе мы должны определить метод: Который по факту при выполнения компонента запускается.

Битрикс Компоненты

В нем вызываем метод: Данный метод, подключает шаблон. А выше выполняется наш код.

Который реализует логику работы компонента и формирует массив данных. Еще выше у нас описан метод var. В нашем случае, формируется некий текст и он возвращается. После чего, результат работы функции var. Result. Давайте создадим компонент и отнаследуем его от ранее созданного. Создадим еще один компонент, который будет наследоваться.

Файла . description. Нужно создать или скопировать заново, так как они не как не наследуются. Также нужно создать файл class. Перейдем в него. И первым делом мы должны вызвать метод - include. Component. Class, класса CBitrix. Component. В который передаем имя компонента, от которого будем наследоваться.

Метод инициализирует компонент и нам доступен класс компонента и мы можем от него наследоваться. Обычным образом наследуемся. Наследуем класс class. Components. Extends от класса class. Components. В исходном классе у нас есть метод - var.

Создадим метод var. Далее нам нужно переопределить метод execute. Component. В противном случае у нас не вызывается наш метод var. Но у нас есть всегда возможность не переопределять полность метод.

Мы сначала вызовем метод var. Результат работы которого добавим в ar. Result. А потом вызовем метод - execute. Component, от которого мы наследовались. Хочу обратить внимание, что вызывать метод: Не нужно, так как его вызов есть в исходном методе - execute. Component. Давайте посмотрим на распечатку компонентов на визуальной части сайта. Сверху выводится исходный компонент, а ниже разместили унаследованный компонент.

Как можем заметить, в массиве ar. 1С 7.7 Платформа 7.70.027 Торрент. Result, присутствует результат работы, как метода var.