Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Вот ещё один из примеров (класс modRequest).


А если присмотреться повнимательнее:
1. Если метод «alias» — ищется id ресурса методом findResource().
2. Дальше (в скриншот не попало) методом getResource() загружается этот ресурс в $modx->resource.
3. А в этом методе getResource() опять забито условие
if ($method == 'alias') {
      $resourceId = $this->modx->findResource($identifier);
}
В общем, рефакторить и рефакторить.
Да весь этот функционал уже давно требует рефакторинга. Мало того, что нет никакой возможности добавить свои аттрибуты в методы regClient*(), так ещё и в качестве ключей хранить код как минимум не профессионально. Т.е. при регистрации сырого кода типа
<script>
   Тут яваскрипт код...
</script>
он прописывается в качестве ключа в массив
// $src - это сырой код
$this->loadedjscripts[$src]= true;
А потом он проверяется на существование
isset ($this->loadedjscripts[$src])
Я понимаю, что PHP всё стерпит. Тут всё-таки напрашивается хэш.

Вот этот код тоже выглядит немного по школьному
$this->sjscripts[count($this->sjscripts)]= $src;


П.С. Я даже в какой-то момент при исследовании кода MODX хотел целую статью написать про то, что не боги горшки обжигают. Но потом просто PR делал. Что стоит один только код получения id страницы ошибки
$errorPageId = $modx->getOption('error_page', null, 404);
и страницы для неавторизованных пользователей
$PageId = $modx->getOption('unauthorized_page', null, 401);
А в этом сообществе только один Василий должен помогать? А остальные должны предварять свой ответ целым абзацем про то, что никто не помогает?
Зайди в сообщество Laravel. А затем перечитай свой комментарий.

П.С. Кроме того, сейчас модно тусоваться в Слаке и Телеграме. Лично я ушёл из Телеграм-канала MODX, надоело ломать глаза глядя на полотенца кода.
В нашей стране диктатура. Могут и в Гулаг сослать. А вот у них свобода и демократия — поэтому так можно. :)

П.С. Я понимаю, конечно, что Николай имел ввиду коммерческую целесообразность за данную работу. Но это решать пользователям. Не нравится — не ешь. Не вижу предмета для спора.