Попал мне на доработку один компонент для MODX Revolution, на глаза попали забавные строки кода. Названия классов изменены, для скрытия информации)
$Helpers = new Helpers();
$setting = $modx->getObject('modSystemSetting', 'settings_config');
$settings = $Helpers->settingsToArray(json_decode($setting->get('value')));
$BlaBlaAPI= new BlaBlaAPI($settings);
Ну то что хранение всех настроек в одном параметре, это Бог с ним. И то что получить эти значения можно так:
$setting = $modx->getOption('settings_config');
тоже не критично. Тут интересен метод у settingsToArray у класса Helpers. А выглядит он так:
function settingsToArray($settings) {
$output = [];
foreach($settings as $key=>$value){
$output[$key] = $value;
}
return $output;
}
Я могу сетовать на первые строки на то, что веб-студия ни разу не работала с MODX Revolution, но не знания о том, что в json_decode($setting->get('value')), можно просто добавить второй параметр true и получить сразу нужны массив.
Или я что-то не понимаю?