new NewsList(&$arResult, $arParams);
Не смог на Гитхабе найти примеры.
Й
ну да. вай нат
$arResult по ссылке конструктору, и это все в $arResult
ну, вот я так и подумал)) но NewsList должен наследоваться от какого-то abstract. Есть примеры?
этот NewsList похож на какой-то кастомный класс
короче, не нужно так делать) извращение, имхо
имхо если по ссылке - и возвращай по ссылке, зачем ответ?
конечно, кастомный. Я его для примера привел. Да, конечно, будет рекурсия - это опечатка) Концепция понятна: обрабатывать $arResult в каком-то классе по ссылке. Чтобы избавиться от функционального подхода в result_modifier.php. Но примеров я найти не могу.
Если ваша механика требует ООП подхода в result_modifier, то по-моему вам проще сделать компонент.
https://pastebin.com/ACWqWWfi вот вам пример, но толку)
да не то, что требует. Просто result_modifier.php на тысячу строк поддерживать довольно тяжело
Мне кажется, что как только он перевалил за ~200 строчек оформленных по style guide bitrix, то в вашем случае компонент делает вообще не то что он должен.
у нас было по 700 строк в catalog.element, например. просто куча всякой фигни, которая в карточке должна выводится. потом тупо наплодил кучу небольших классов, которые каждый свое делает, и начал использовать их. в результате, потом их использовал и в контроллерах (те что аякс). получилось одно место, где лежит бизнес-логика, и все как в сказке (не совсем, но это другое)
В случае если они выполняют достаточно простые доборы информации это может быть и разумно, но в таком случае поддерживать такие файлы особого труда не составит. А вот если у тебя на 1.5к строк лапши которая завязана друг на друга, то это другое дело.
но вот это - совсем не то) это, на самом деле, оверхед. оформляем массив в обьект, а толку? ну, теоретически, может помочь в случае с catalog.section, catalog.top итп
На правах некропостинга. Можешь подробнее свою позицию обозначить? Имеешь в виду, что нужно какой-нибудь паттерн (вроде Command) реализовать и использовать в result_modifier.php вместо твоего примера? Речь о том, как избавится от процедурного стиля в result_modifier.php. Сейчас использую анонимные функции, что тоже не удобно
не понятно, в каком смысле "избавиться". если не нравятся функции, делаем классы, их используем. если не хочется работать с массивами в result_modifier.php - оберните его в класс (классы). то что я там понаписывал, я б назвал это Эклассы ради классов", но даже в таком виде уже можно пробовать наследоваться, расширять итд. короче, для конкретного ответа нужен конкретный вопрос
Обсуждают сегодня