Рубрика: 1C-Битрикс

Разработка интернет-магазинов, порталов и мобильные приложения на 1С-Битрикс.

Кросс-платформенные SQL-запросы Возможности Bitrix\Main\DB\SqlHelperКросс-платформенные SQL-запросы Возможности Bitrix\Main\DB\SqlHelper

Если вы пишете «сырые» SQL-запросы (через $connection->query), вы рискуете привязаться к конкретной базе данных (обычно MySQL). SqlHelper — это абстракция, которая генерирует правильный SQL-синтаксис для текущей активной БД. Получить хелпер можно так: 1.

Работа с паролями в D7: Хеширование и проверка с Bitrix\Main\Security\PasswordРабота с паролями в D7: Хеширование и проверка с Bitrix\Main\Security\Password

При работе с CUser::Add Битрикс сам хеширует пароль. Но если вы используете D7 ORM (\Bitrix\Main\UserTable::add) или пишите свою систему авторизации, вам нужно работать с хешами вручную. Класс Bitrix\Main\Security\Password предоставляет стандартизированные методы для этого. 1.

Оптимизация Highload-блоков: Кэширование скомпилированных сущностейОптимизация Highload-блоков: Кэширование скомпилированных сущностей

При работе с HL-блоками мы постоянно пишем: Метод compileEntity «на лету» собирает класс сущности, анализируя пользовательские поля. Это требует ресурсов. Если вы вызываете этот код в цикле или несколько раз в разных

Склонение существительных с числительными: Класс Bitrix\Main\Grid\DeclensionСклонение существительных с числительными: Класс Bitrix\Main\Grid\Declension

Частая задача интерфейса: вывести количество элементов с правильным окончанием (например: «Найдено 22 элемента»). Раньше разработчики писали свои функции declension($n, $form1, $form2, $form5). В D7 есть штатное решение. Использование класса Класс находится

Отправка почты в D7: Класс Bitrix\Main\Mail\EventОтправка почты в D7: Класс Bitrix\Main\Mail\Event

Мы уже рассматривали CEvent::Send (старый метод). В ядре D7 появился класс Bitrix\Main\Mail\Event, который делает отправку писем более объектно-ориентированной и гибкой. Базовая отправка (send) Этот метод создает запись в таблице b_event, которая будет обработана агентом

Работа с JSON в D7: Класс Bitrix\Main\Web\Json и его преимуществаРабота с JSON в D7: Класс Bitrix\Main\Web\Json и его преимущества

PHP имеет встроенные функции для работы с JSON, но в Битрикс D7 есть свой класс-обертка \Bitrix\Main\Web\Json, который рекомендуется использовать в рамках фреймворка. Преимущества Bitrix\Main\Web\Json Примеры использования Кодирование (Array -> JSON): Декодирование (JSON

Региональные настройки Bitrix\Main\Context\Culture (форматы дат, имен, кодировки)Региональные настройки Bitrix\Main\Context\Culture (форматы дат, имен, кодировки)

В Битрикс каждый сайт имеет свои «Региональные настройки» (Culture): формат даты, формат времени, формат имени (Иван Иванов или Иванов Иван), кодировку. В D7 доступ к этим настройкам осуществляется через объект Culture в

Генерация случайных строк и чисел: Bitrix\Main\Security\Random vs RandomSequenceГенерация случайных строк и чисел: Bitrix\Main\Security\Random vs RandomSequence

В Битрикс есть два класса для генерации случайных данных, и их часто путают. Они предназначены для совершенно разных целей. 1. Bitrix\Main\Security\Random (Для безопасности) Используйте этот класс, когда нужна непредсказуемость: Он использует криптографически стойкие

Манипуляции с URL в D7: Класс Bitrix\Main\Web\Uri (добавление, удаление параметров, парсинг)Манипуляции с URL в D7: Класс Bitrix\Main\Web\Uri (добавление, удаление параметров, парсинг)

Работа с URL — рутинная задача: добавить GET-параметр, удалить «мусор», получить домен. В старом ядре использовались функции вроде $APPLICATION->GetCurPageParam. В D7 появился специализированный класс \Bitrix\Main\Web\Uri, который делает эту работу объектно-ориентированной и безопасной.

Обработка ошибок и исключений в D7: Класс Bitrix\Main\Diag\ExceptionHandler и SystemExceptionОбработка ошибок и исключений в D7: Класс Bitrix\Main\Diag\ExceptionHandler и SystemException

Старый подход «вернуть false и записать ошибку в LAST_ERROR» уходит в прошлое. В D7 используется механизм исключений (Exceptions), который делает код более надежным и предсказуемым. 1. Иерархия исключений Все исключения ядра наследуются от \Exception.