Категории

Dwstroy: Ядро

Бесплатно

Описание

Что скрывается за «ядром»: модуль для тех, кто устал от рутины

Модуль «Dwstroy: Ядро» — это не очередной визуальный конструктор и не набор готовых страниц. Это техническая основа, которая пригодится разработчику, когда стандартных средств Битрикса перестаёт хватать. Внутри — коллекция служебных классов и методов, которые мы сами используем на каждом проекте, чтобы не писать одно и то же по десять раз. Если вы когда-нибудь тратили полчаса на поиск «лишней» запятой в массиве или мучительно вспоминали, как правильно просклонять «23 товара», — этот модуль сэкономит вам кучу нервов.

Он не делает сайт красивым, не добавляет анимацию и не генерирует лендинги. Его задача — ускорить разработку, отладку и работу с данными. Подключается одной строкой: \Bitrix\Main\Loader::includeModule('dwstroy.core'). И дальше вы получаете доступ к инструментам, которые обычно разбросаны по десяткам самописных функций.

Отладка без головной боли: печатаем массивы как угодно

Любой разработчик знает: когда код не работает, первым делом хочется посмотреть, что лежит в переменной. Встроенный var_dump в Битриксе часто ломает вёрстку, а die() останавливает всё выполнение. В «Ядре» есть DwsPrint — универсальный класс для вывода массивов, который не вредит странице.

Вы можете просто напечатать массив на экран: Dwstroy\Core\DwsPrint::PR($_SERVER). Если нужно посмотреть данные на клиенте, вызывайте jsPR — он выведет массив в консоль браузера. Для логов на сервере есть DebugLog, а если требуется сохранить отладочную информацию в файл — метод debugLogFail запишет всё аккуратно, не засоряя экран. Больше никаких «закомментируй, раскомментируй, а потом забудь вернуть обратно».

Склоняем числа правильно: никаких «у вас 1 товаров»

Каждый, кто делал интернет-магазин, сталкивался с проблемой окончаний. «1 товар», «2 товара», «10 товаров» — вручную писать условия для каждого числа утомительно. В «Ядре» это решается одной строкой: \Dwstroy\Core\Helper::formatMessage(количество, 'товаров', 'товар', 'товара').

Метод сам подставляет нужную форму в зависимости от числа. Передаёте 0 — получаете «товаров», 1 — «товар», 2 — «товара», 10 — снова «товаров». Работает для любых слов: «комментариев», «отзывов», «пользователей». Просто подставьте свои варианты и забудьте о громоздких if-else конструкциях в шаблонах.

Работа с Highload-блоками: три способа получить данные

Highload-блоки в Битриксе — мощный инструмент для хранения справочников, настроек и любых табличных данных. Но каждый раз писать запрос к ним — муторно. В «Ядре» есть отдельный класс Highloadblock, который берёт рутину на себя.

Вы можете получить класс для выборки данных тремя разными способами: по названию сущности, по ID хайлоадблока или по имени таблицы в базе данных. Пример: $className = \Dwstroy\Core\Highloadblock::getInstance()->getDataClass('ASiteSettings'). Если класс найден, дальше работаете с ним как с обычным D7-классом: вызываете getList, фильтруете, сортируете, перебираете через fetch. Никаких лишних телодвижений — просто укажите, откуда брать данные, и получайте результат.

Полезные мелочи: список пользовательских полей и веб-формы

Помимо основных инструментов, в модуле есть ещё два удобных хелпера. Первый — UserFieldEnumTable — класс для работы со списками пользовательских полей. Если у вас есть поле типа «список» и нужно быстро получить все его значения, не пишите велосипед: \Dwstroy\Core\UserFieldEnumTable сделает это за вас.

Второй — WebForm — хелпер для работы с веб-формами Битрикса. Он упрощает создание, обработку и получение данных из форм. Вместо того чтобы каждый раз разбираться с API форм, вы используете готовый метод и тратите время только на логику, а не на подключение.

«Dwstroy: Ядро» — это набор тех самых «мелочей», из которых на самом деле складывается скорость разработки. Он не обещает чуда, но избавляет от сотен строк однотипного кода. Подходит для проектов, где важна не только внешняя красота, но и чистота технической начинки.

Часто задаваемые вопросы

Dwstroy: Ядро
Бесплатно
1 обсуждение

Характеристики

Версия 1.0.4
Добавлен 27.09.2022
Обновлён 21.04.2023
Установок 50 - 99 раз
Код dwstroy.core
Адаптивный Нет
Composite Нет