Рейтинг: 2.2814  
Новая
Предложил Пользователь 224738 11.12.2014 16:09:04

Подготовка параметров компонента в class.php и их использование

Считаю, что использование глобальных переменных во всех методах компонента не самый лучший подход (пример проблемы с SITE_ID в компоненте).

Читать подробнее...

Рейтинг: 0  
Внедрено
Предложил Пользователь 191258 20.05.2014 14:47:06

Компоненты на d7

Почему бы не делать компоненты на d7 без component.php? Причем логику компонента разбивать на методы.
Например вместо проверки $USER->IsAdmin() (или любой другой) реализовать метод public function hasPermission()
в таком случае если клиент захочет расширить число групп которым, доступен функционал компонента (видимо это какая-то модерация),  достаточно будет отнаследоваться от компонента и переопределить 1 метод

Возможно пример не очень яркий, но вся прелесть наследования пропадает, когда приходится не только наследоваться но и component.php править и вмешиваться в его логику.
Рейтинг: 0.1291  
Ответил Жуков Евгений 20.05.2014 17:35:44
Это возможно начиная с main 12.0.7 Новые компоненты пишутся с использованием ООП и могут использовать как классы D7, так и старые классы.
Рейтинг: 17.6473  
На голосовании
Предложил Пользователь 203730 13.02.2014 09:45:00

Переделать самые популярные компоненты на классы

Битрикс анонсировал что можно компоненты писать как классы - с наследованием.
Это все хорошо, но разработчики чаще не пишут новые компоненты а кастомизируют существующие.
Чем раньше появятся компоненты catalog.* и news.* переделанные на классы тем раньше повысится производительность программистов.
Рейтинг: 0.6393  
Ответил 21.03.2014 20:00:34
Сделаем первый пример в 4 компонентах магазина, чуть позже в статье я напишу какие это компоненты.

Закрою данную идею как решенную, так как мы сами заинтересованны в этом и уже начали работу в данном направление.