208 похожих чатов

Кто-Нибудь применяет ООП в result_modifier.php? Что-то по типу такого: $arResult =

new NewsList(&$arResult, $arParams);

Не смог на Гитхабе найти примеры.

Й

16 ответов

5 просмотров

ну да. вай нат

$arResult по ссылке конструктору, и это все в $arResult

W.-Blazkowicz Автор вопроса
Roma
$arResult по ссылке конструктору, и это все в $arR...

ну, вот я так и подумал)) но NewsList должен наследоваться от какого-то abstract. Есть примеры?

W. Blazkowicz
ну, вот я так и подумал)) но NewsList должен насле...

этот NewsList похож на какой-то кастомный класс

Roma
$arResult по ссылке конструктору, и это все в $arR...

короче, не нужно так делать) извращение, имхо

имхо если по ссылке - и возвращай по ссылке, зачем ответ?

W.-Blazkowicz Автор вопроса
Roma
screenshot короче, не нужно так делать) извращение, имхо

конечно, кастомный. Я его для примера привел. Да, конечно, будет рекурсия - это опечатка) Концепция понятна: обрабатывать $arResult в каком-то классе по ссылке. Чтобы избавиться от функционального подхода в result_modifier.php. Но примеров я найти не могу.

W. Blazkowicz
конечно, кастомный. Я его для примера привел. Да, ...

Если ваша механика требует ООП подхода в result_modifier, то по-моему вам проще сделать компонент.

W. Blazkowicz
конечно, кастомный. Я его для примера привел. Да, ...

https://pastebin.com/ACWqWWfi вот вам пример, но толку)

W.-Blazkowicz Автор вопроса
Andrei Nikolaev
Если ваша механика требует ООП подхода в result_mo...

да не то, что требует. Просто result_modifier.php на тысячу строк поддерживать довольно тяжело

W. Blazkowicz
да не то, что требует. Просто result_modifier.php ...

Мне кажется, что как только он перевалил за ~200 строчек оформленных по style guide bitrix, то в вашем случае компонент делает вообще не то что он должен.

Andrei Nikolaev
Мне кажется, что как только он перевалил за ~200 с...

у нас было по 700 строк в catalog.element, например. просто куча всякой фигни, которая в карточке должна выводится. потом тупо наплодил кучу небольших классов, которые каждый свое делает, и начал использовать их. в результате, потом их использовал и в контроллерах (те что аякс). получилось одно место, где лежит бизнес-логика, и все как в сказке (не совсем, но это другое)

Roma
у нас было по 700 строк в catalog.element, наприме...

В случае если они выполняют достаточно простые доборы информации это может быть и разумно, но в таком случае поддерживать такие файлы особого труда не составит. А вот если у тебя на 1.5к строк лапши которая завязана друг на друга, то это другое дело.

Roma
https://pastebin.com/ACWqWWfi вот вам пример, но ...

но вот это - совсем не то) это, на самом деле, оверхед. оформляем массив в обьект, а толку? ну, теоретически, может помочь в случае с catalog.section, catalog.top итп

W.-Blazkowicz Автор вопроса
Roma
https://pastebin.com/ACWqWWfi вот вам пример, но ...

На правах некропостинга. Можешь подробнее свою позицию обозначить? Имеешь в виду, что нужно какой-нибудь паттерн (вроде Command) реализовать и использовать в result_modifier.php вместо твоего примера? Речь о том, как избавится от процедурного стиля в result_modifier.php. Сейчас использую анонимные функции, что тоже не удобно

W. Blazkowicz
На правах некропостинга. Можешь подробнее свою п...

не понятно, в каком смысле "избавиться". если не нравятся функции, делаем классы, их используем. если не хочется работать с массивами в result_modifier.php - оберните его в класс (классы). то что я там понаписывал, я б назвал это Эклассы ради классов", но даже в таком виде уже можно пробовать наследоваться, расширять итд. короче, для конкретного ответа нужен конкретный вопрос

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта