Вот абсолютно согласен с Вадимом Макеевым. Мне тоже больше нравится таб. Но PSR-12, отвечающий за кодстайл PHP, даёт чёткую рекомендацию.
Табы или пробелы? ➡️ Почему мы повернули не туда и как табы помогают
Табы или пробелы? ➡️ Почему мы повернули не туда и как табы помогают
Видео про возможности библиотеки pdoTools, дающие слишком много свободы не только контент-менеджерам, но и разным кулхакерам, разыскивающим возможность проникнуть в ядро сайта. Как вы понимаете, это видео не для распространения.
https://modzone.ru/blog/2021/09/07/pdotools-close-the-vulnerability-dispute/
https://modzone.ru/blog/2021/09/07/pdotools-close-the-vulnerability-dispute/
image_2021-09-16_09-29-14.png
123.1 KB
Анонс ZoomX 3.0.0.
В новой версии ZoomX появится свой собственный обработчик исключений и ошибок. Для дебаггинга можно включить подробный режим. Всё это легко кастомизируется.
В новой версии ZoomX появится свой собственный обработчик исключений и ошибок. Для дебаггинга можно включить подробный режим. Всё это легко кастомизируется.
Анонс ZoomX 3.0.0.
В новой версии шаблонизатор Smarty (пока только он) может работать в полноценном режиме с библиотекой pdoTools. Т.е. в чанках tpl для сниппетов pdoTools можно использовать синтаксис Smarty. Этот режим включается в системной настройке. Таким образом можно полностью убрать шаблонизатор Fenom из процесса парсинга.
В новой версии шаблонизатор Smarty (пока только он) может работать в полноценном режиме с библиотекой pdoTools. Т.е. в чанках tpl для сниппетов pdoTools можно использовать синтаксис Smarty. Этот режим включается в системной настройке. Таким образом можно полностью убрать шаблонизатор Fenom из процесса парсинга.
image_2021-09-16_10-28-18.png
132.9 KB
Анонс ZoomX 3.0.0.
В новой версии появился вызов файловых сниппетов. Также добавлены и файловые чанки, которые указываются в параметрах сниппета с модификатором
В новой версии появился вызов файловых сниппетов. Также добавлены и файловые чанки, которые указываются в параметрах сниппета с модификатором
@FILE
.controlErrorLog 1.4.5-pl.
В новой версии исправлена ошибка, когда при очистке журнала не обновлялась иконка на панели меню. А также доработан парсер фатальных ошибок.
https://modstore.pro/packages/utilities/controlerrorlog
В новой версии исправлена ошибка, когда при очистке журнала не обновлялась иконка на панели меню. А также доработан парсер фатальных ошибок.
https://modstore.pro/packages/utilities/controlerrorlog
modstore.pro
controlErrorLog
Сергей Шлоков: Управление журналом ошибок
ZoomX 3.0.0.
Встречайте новую версию ZoomX с полноценной шаблонизацией и ресурсов и чанков и шаблонов.
https://modzone.ru/blog/2021/09/30/zoomx-3.0-full-fledged-parser/
Встречайте новую версию ZoomX с полноценной шаблонизацией и ресурсов и чанков и шаблонов.
https://modzone.ru/blog/2021/09/30/zoomx-3.0-full-fledged-parser/
modzone.ru
Zoomx 3.0. Полноценный парсер | Зона разработки
Единственное, что не получилось добавить в новую версию ZoomX - автозагрузку базовых классов MODX. Чтобы не использовать в своих классах и процессорах
include
и require
расширяемых базовых классов MODX. Идея мне понравилась и в простых случаях работает. Но с MODX не может быть всё просто. Проблема в том, что ряд классов кучей запиханы в один файл и ещё ряд других технических проблем. В итоге, при тестировании часто выскакивали ошибки "Отсутствует класс". В итоге пришлось отложить пока эту идею. Может когда-нибудь во сне приснится решение как Менделееву.modHelpers.
В новой версии этой библиотеки появится функция
В новой версии этой библиотеки появится функция
lottery
, которая сработает в вероятностью n/m. Подобный механизм используется в Laravel для очистки старых сессий каждый n-ый запрос из m. lottery(1,20, function() {
// Выполнить определённые действия каждый двадцатый запрос.
});
ZoomX 3.1.0.
В новой версии небольшие улучшалки:
- обычные сниппеты MODX можно указывать в качестве модификаторов,
- добавлен модификатор для склонения числительных.
Следующий шаг - оформление документации. ZoomX с третьей версии позволяет использовать MODX в качестве полноценного фреймворка. Все новые возможности нужно подробно расписать и желательно с примерами. На чём и сосредоточусь в ближайшее время. Свой сайт частично перевёл на ZoomX. Документация будет сделана полностью на ZoomX.
В новой версии небольшие улучшалки:
- обычные сниппеты MODX можно указывать в качестве модификаторов,
- добавлен модификатор для склонения числительных.
Следующий шаг - оформление документации. ZoomX с третьей версии позволяет использовать MODX в качестве полноценного фреймворка. Все новые возможности нужно подробно расписать и желательно с примерами. На чём и сосредоточусь в ближайшее время. Свой сайт частично перевёл на ZoomX. Документация будет сделана полностью на ZoomX.
Статья в сообществе с рассуждениями о перспективах использования фреймворковского подхода к разработке.
https://modx.pro/development/22376
https://modx.pro/development/22376
Русскоязычное сообщество MODX
ZoomX. Фреймворковский подход к разработке
Привет, друзья! На днях вышла третья версия компонента ZoomX, которая позволяет взглянуть на разработку в MODX немного под другим углом. Как известно, MODX позиционирует себя не только как CMS, но...
ZoomX 3.2.0.
С этой версии компонент перешёл из стадии beta в стадию stable. Спасибо всем, кто принял участие в тестировании и отладке компонента. 🤝
Итак, что нового в минорной версии?
-
-
-
Объект
-
В некоторых плагинах есть обращение к ресурсу, которого не было в режиме виртуальной страницы. Это вызывало фатальную ошибку.
П.С. Продолжаю наполнять документацию. Как закончу, планирую сделать серию видео с примерами.
С этой версии компонент перешёл из стадии beta в стадию stable. Спасибо всем, кто принял участие в тестировании и отладке компонента. 🤝
Итак, что нового в минорной версии?
-
Добавлен модификатор fuzzyDate.
Выводит дату в виде "вчера в 14:20", "сегодня в 09:00", "завтра в 21:30".-
Добавлен модификатор dateAgo.
Выводит дату в виде "5 минут назад", "2 часа назад", "4 дня назад".-
Исправлена ошибка, когда объект $zoomx
был не доступен в Smarty шаблонах (#1).
Объект
$zoomx
- это главный сервис ZoomX.-
Переделан механизм виртуальных страниц (#2).
В некоторых плагинах есть обращение к ресурсу, которого не было в режиме виртуальной страницы. Это вызывало фатальную ошибку.
П.С. Продолжаю наполнять документацию. Как закончу, планирую сделать серию видео с примерами.
ZoomX 3.3.0. Кэширование роутов.
Новая минорная версия с интересными возможностями, которые требуют подробного пояснения и будут очень полезны.
https://modzone.ru/blog/2021/11/12/zoomx-3.3.0-route-cache/
Новая минорная версия с интересными возможностями, которые требуют подробного пояснения и будут очень полезны.
https://modzone.ru/blog/2021/11/12/zoomx-3.3.0-route-cache/
modzone.ru
ZoomX. Кэширование роутов | Зона разработки
Рубрика "Так лучше не делать"
В сниппетах pdoTools для проверки - залогинен пользователь или нет в определённом контексте, используется конструкция
Так вот, конкретно в этом случае для разработчиков сделали специальный метод
Поэтому мой совет - используйте именно
В сниппетах pdoTools для проверки - залогинен пользователь или нет в определённом контексте, используется конструкция
$modx->user->hasSessionContext()
. Такой же метод встречается и в других дополнениях. И даже в примерах на сайте сообщества. Но дело в том, что это внутренний метод и по идее он должен быть закрытым. Но у MODX (как я говорил раньше) проблема с применением принципа инкапсуляции - у него во всех классах и свойства и методы открытые.Так вот, конкретно в этом случае для разработчиков сделали специальный метод
isAuthenticated($context)
, который как раз и использует вышеописанный внутренний метод. Пусть он является синтаксическим сахаром, но он, очевидно, несёт понятную смысловую нагрузку в отличие от hasSessionContext
. Поэтому мой совет - используйте именно
isAuthenticated()
- это поможет сделать код легко читаемым и понятным для любых разработчиков.ZoomX. Планы для новой версии.
Набросал бэклог для новой версии. В неё вошло
- Файловые плагины.
- Возможность указывать сниппетам время кэширования.
- Возможность указывать короткие название контроллеров в роутах.
- Улучшения функции jsonx.
- Новый модификатор
- Короткий формат редиректа в роутах -
- Новое событие
Что-то из этого я уже гонял в ветке dev. Тот же markdown. Не был уверен, стоит ли его добавлять. Но вот всё-таки решил. Поэтому нужно просто перенести. Остальное пока в планах. Но к концу месяца думаю, новой версии быть.
Набросал бэклог для новой версии. В неё вошло
- Файловые плагины.
- Возможность указывать сниппетам время кэширования.
- Возможность указывать короткие название контроллеров в роутах.
- Улучшения функции jsonx.
- Новый модификатор
markdown
для работы с этим форматом.- Короткий формат редиректа в роутах -
$router->redirect($fromUri, $toUri, $statusCode);
.- Новое событие
OnBeforeRouteProcess
, которое позволяет делать дополнительные манипуляции с роутом перед его выполнением.Что-то из этого я уже гонял в ветке dev. Тот же markdown. Не был уверен, стоит ли его добавлять. Но вот всё-таки решил. Поэтому нужно просто перенести. Остальное пока в планах. Но к концу месяца думаю, новой версии быть.
Выход новой версии ZoomX немного откладывается. Как многие знают, сейчас ведётся активная работа по выпуску MODX3. На днях вышла Beta 2. Мы, контрибьютеры MODX из RU сообщества, тоже участвуем в этом процессе. И с нашей стороны сейчас важно обеспечить совместимость всех самых важных и востребованных компонентов с MODX3. И сделать это нужно как можно быстрее, чтобы не сбиться с ритма и вписаться в график выхода версий.
Зона моей ответственности - pdoTools. Поэтому я пока отложил работу над ZoomX и сейчас активно погружен в процесс создания версии pdoTools для MODX3. К сожалению работы оказалось больше, чем я планировал. Но она важная! MODX3 очень нужен нам всем. Он быстрее, современнее в части API и главное - он значительно сокращает процесс перехода на самые современные стандарты разработки. Как бы это не звучало фантастически, но уже сейчас ведутся разговоры про MODX4 и отказа от накопившегося легаси. И с выходом MODX3 это будет сделать существенно проще. Ибо, как говорится в народной мудрости, пропасть нельзя перепрыгнуть в два прыжка.
MODX3 доступен на modhost.pro. Его можно бесплатно попробовать на тестовом тарифе.
Зона моей ответственности - pdoTools. Поэтому я пока отложил работу над ZoomX и сейчас активно погружен в процесс создания версии pdoTools для MODX3. К сожалению работы оказалось больше, чем я планировал. Но она важная! MODX3 очень нужен нам всем. Он быстрее, современнее в части API и главное - он значительно сокращает процесс перехода на самые современные стандарты разработки. Как бы это не звучало фантастически, но уже сейчас ведутся разговоры про MODX4 и отказа от накопившегося легаси. И с выходом MODX3 это будет сделать существенно проще. Ибо, как говорится в народной мудрости, пропасть нельзя перепрыгнуть в два прыжка.
MODX3 доступен на modhost.pro. Его можно бесплатно попробовать на тестовом тарифе.
В новой версии ZoomX появится полноценная!!! поддержка всех файловых элементов, включая плагины. Полноценная - значит, что работать будут не только собственные файловые элементы, но и файловые элементы других компонентов. Таким образом можно создавать компоненты с файловыми сниппетами, чанками и плагинами. После их установки не нужно никуда ничего переносить, перенастраивать, менять настройки. Всё будет работать из коробки.
В ZoomX есть событие
OnRequestError
, которое срабатывает при вызове исключений с помощью функции abortx()
или при возникновении ошибок PHP. С помощью этого события можно контролировать работоспособность сайта - создать плагин, в котором проверять код ошибки. Если код 500, то отправлять сообщение администратору.