Когда и зачем запускать composer dump-autoload -o после изменения autoload в composer.json. Оптимизированная карта классов.
Перегенерация [автозагрузчика](/dictionary/autoload) после изменения сек
Коллекция полезных сниппетов для веб-разработки. JavaScript, TypeScript, PHP, Bash и другие.
Когда и зачем запускать composer dump-autoload -o после изменения autoload в composer.json. Оптимизированная карта классов.
Перегенерация [автозагрузчика](/dictionary/autoload) после изменения сек
Базовая конфигурация autoload.psr-4 в composer.json: префикс App → директория src/, экранирование обратного слэша в JSON.
Минимальный `composer.json` с секцией PSR-4: все классы с [пространством
Запуск php -S для локальной проверки и curl для проверки HTTP-ответа. Диагностика Class not found и автозагрузки.
Быстрая проверка, что [автозагрузка](/dictionary/autoload) и точка входа
Подключение автозагрузчика Composer в index.php. Один require на весь проект, использование классов по namespace.
В [точке входа](/dictionary/entry-point) приложения достаточно одного по
Настройка Restart=, RestartSec= и StartLimitInterval для автоматического перезапуска unit при сбое. Защита от бесконечных перезапусков.
Сервис под systemd может падать из-за ошибок, нехватки памяти или внешни
Минимальный .service unit для запуска приложения под systemd: Type=simple, ExecStart, перезапуск при падении, проверка.
Свой демон или скрипт нужно запускать при загрузке сервера и перезапуска
Настройка systemd timer вместо cron: .timer и .service unit, календарные интервалы, проверка и логи.
Периодические задачи на сервере часто вешают на cron. На системе с syste
Добавление заголовков безопасности для WordPress: X-Frame-Options, X-Content-Type-Options, Referrer-Policy. Варианты для Apache (.htaccess) и Nginx.
WordPress по умолчанию не отдаёт заголовки безопасности; без них браузер
Настройка ЧПУ в компоненте новостей/статей: SEF_FOLDER, SEF_URL_TEMPLATES с #ELEMENT_CODE#. Соответствует рекомендациям по ЧПУ в документации 1С-Битрикс.
Чтобы после миграции с WordPress адреса вида `/blog/post-name/` сохранил
Программное добавление постоянного редиректа через Bitrix\Main\UrlRewriter::add(). Для точечных правил при миграции или смене структуры URL.
Точечные редиректы со старого URL на новый можно задать в 1С-Битрикс чер
Постоянный редирект старой ветки URL на новую (например /old-category/ на /blog/). Директива rewrite с флагом permanent по документации ngx_http_rewrite_module.
При миграции сайта или смене CMS старая структура URL часто меняется (на
Проверенные SQL-запросы для выгрузки записей из wp_posts и метаданных из wp_postmeta (Yoast/Rank Math). Для миграции на Bitrix или другую CMS с сохранением slug и SEO-полей.
Экспорт постов, страниц и SEO-метаданных из базы WordPress для переноса
Проверка наличия и количества блоков application/ld+json в HTML через curl и grep. Для быстрой диагностики дублей разметки и проверки после деплоя.
Проверка, что на странице есть ровно один блок `<script type="applicatio
Генератор JSON-LD разметки типа BlogPosting для CPT через wp_head. Защита от дублей через did_action, сериализация через wp_json_encode. По официальной документации WordPress и schema.org/BlogPosting.
Генерация JSON-LD разметки [BlogPosting](https://schema.org/BlogPosting)
Чеклист и код для отладки: проверка регистрации CPT (post_type_exists), факт вызова hook (error_log), права доступа и кэш. По официальной документации WordPress.
Если JSON-LD не появляется на странице CPT или выводится с ошибками, поо
Минимальный вывод JSON-LD для Custom Post Type одной функцией в functions.php. Подходит когда не нужен полный набор полей schema.org и достаточно базовых author, datePublished, publisher.
Упрощённый вариант вывода JSON-LD типа [BlogPosting](https://schema.org/
Быстрая CLI-проверка JSON-LD: синтаксис JSON, корректность JSON-LD (expand/normalize) и базовая проверка schema.org. Подходит для CI и ручной диагностики.
JSON-LD можно валидировать на 3 уровнях:
Node.js CLI проверяет structured data на странице (schema.org), печатает ошибки/предупреждения в консоль и сохраняет отчёт в JSON. Удобно для CI и ручной диагностики.
Этот CLI — не HTML-валидатор (W3C Nu), а проверка **structured data**: J
Команды для проверки списка типов в /wp-json/wp/v2/types и запроса к endpoint кастомного типа. Для диагностики 404 при CPT в REST API.
Проверка доступности типов записей в REST API и конкретного endpoint. До
Команды для проверки установки nginx-module-geoip, наличия .so, путей к .dat и синтаксиса конфига. Выполняются от root, без sudo (BitrixVM/VPS).
Быстрая проверка, что модуль GeoIP установлен, базы на месте и конфиг пр
Подключение ngx_http_geoip_module через load_module и указание путей к GeoIP.dat и GeoLiteCity.dat в http {}. Для BitrixVM и VPS под root.
Подключение модуля GeoIP (legacy) в Nginx и указание путей к базам MaxMi
Формат лога с полями country/city и прокидывание GeoIP в приложение через proxy_set_header X-GeoIP-*. Для связки nginx → httpd (Bitrix).
Использование переменных GeoIP в логах и передача страны/города в бекенд
Настройка geoip_proxy и geoip_proxy_recursive, чтобы GeoIP смотрел на реальный IP клиента из X-Forwarded-For, а не на IP прокси.
Когда Nginx стоит за прокси (Cloudflare, балансировщик, другой reverse p
Временный mu-plugin: логирование show_in_rest, rest_base и rest_controller_class для типа записи. Для поиска причины 404 в REST API.
Проверка, что WordPress видит тип записи с нужными REST-параметрами. Фун
Регистрация Custom Post Type с show_in_rest в must-use плагине. Не зависит от темы, подходит для prod. По документации register_post_type().
MU-plugin гарантирует, что CPT и REST-маршрут загружаются при любой акти
Минимальная регистрация Custom Post Type с show_in_rest, rest_base и WP_REST_Posts_Controller. По официальной документации register_post_type().
Регистрация CPT с поддержкой REST API и редактора блоков (Gutenberg). Па
Строка для crontab — запуск WordPress wp-cron.php через CLI PHP. Надёжная замена WP-Cron на VPS с Nginx.
На VPS без трафика WP-Cron не выполняется. Системный cron вызывает `wp-c
Измерение времени до первого байта ответа через curl -w %{time_starttransfer}. Для диагностики медленной загрузки сайта и проверки после настройки кеша.
TTFB (Time To First Byte) — время от начала запроса до получения первого
Строка crontab для запуска WordPress cron через HTTP, когда CLI PHP недоступен. Менее надёжно, чем вызов php wp-cron.php.
Когда запустить `php wp-cron.php` из crontab нельзя (нет PHP в PATH, огр
Команды wp post meta list и wp post meta get для просмотра и проверки значений полей ACF в базе. По документации WP-CLI.
[WP-CLI post meta](https://developer.wordpress.org/cli/commands/post/met
Команды wp cron event list и wp cron event run для диагностики и принудительного запуска задач WP-Cron.
Проверка того, что задачи WordPress cron запланированы и выполняются. Ус
Кеширование ответов PHP через fastcgi_cache: зона в http{}, bypass для wp-admin, POST, cookie. Заголовок X-FastCGI-Cache для проверки HIT/MISS.
Без fastcgi_cache Nginx каждый запрос к PHP отдаёт в PHP-FPM; страница г
Логирует post_id и ключи из $_POST['acf'] при сохранении поста. Для диагностики: приходит ли форма с данными ACF в хук. По документации ACF acf/save_post.
Му-плагин вешает обработчик на [acf/save_post](https://www.advancedcusto
Перенос сохранения полей с save_post на acf/save_post с пропуском автосохранения и ревизий. update_field после сейва ACF. По документации ACF и WordPress.
Чтобы не перетирать meta автосохранением и ревизиями, логику записи ACF-
Модификация значения поля перед сохранением через acf/update_value. Без побочных записей в БД. По документации ACF.
Фильтр [acf/update_value](https://www.advancedcustomfields.com/resources
Добавление DISABLE_WP_CRON в wp-config.php перед переходом на системный cron. Официальный способ по документации WordPress.
Отключение встроенного «псевдо-cron» WordPress нужно, когда задачи перен
Настройка пула www в PHP-FPM для WordPress: pm = dynamic, max_children по RAM, max_requests. Файл pool.d/www.conf, проверка потребления памяти.
При малом числе воркеров PHP-FPM под нагрузкой создаёт очереди; при избы
Блок настроек OPcache для PHP 8.2 FPM под WordPress: память 256MB, 20k файлов, отключение validate_timestamps. Путь к php.ini, проверка и перезапуск.
OPcache кэширует скомпилированный PHP в памяти. Без него или с малым лим
Передача запросов .php в PHP-FPM по Unix-сокету или TCP. Требуются mod_proxy_fcgi и mod_proxy.
Чтобы Apache отдавал PHP-запросы в PHP-FPM, используется [mod_proxy_fcgi
Правила RewriteRule и RewriteBase для маршрутизации запросов в index.php. По документации Apache 2.4 mod_rewrite.
Правила [mod_rewrite](https://httpd.apache.org/docs/2.4/mod/mod_rewrite.
Включение Redis в качестве кэша ядра Bitrix через .settings.php. По документации Bitrix (подключения к Redis, Memcache).
Bitrix поддерживает Redis как [managed cache](https://dev.1c-bitrix.ru/l
Рекомендуемые опции OPcache для production: память, число файлов, отключение проверки timestamps. По документации PHP.
[OPcache](https://www.php.net/manual/en/book.opcache.php) кэширует скомп
Получить только HTTP-код ответа (200, 404, 502) без тела страницы. Для скриптов мониторинга и проверки доступности.
Проверка доступности по HTTP/HTTPS и получение только кода ответа. Удобн
Узнать, куда в итоге приводит запрос после всех редиректов (http→https, www→без www). Заголовки и финальный URL одной командой.
Проверка редиректов без открытия браузера: заголовки ответов и финальный
Проверить A, NS и резолв с разных DNS-серверов перед сменой хостинга. Убедиться, что новый IP отдаёт нужный сайт по Host.
Проверка DNS перед переносом: текущий IP и NS, резолв с публичных DNS, п
Последовательная проверка: резолв DNS → доступность по HTTP → код и редиректы по HTTPS. Без лишних шагов, с таймаутом.
Минимальный набор команд для выяснения, на каком этапе ломается доступ:
Класс для типобезопасного чтения и записи post meta с санитизацией (URL, int, string). Опирается на get_post_meta и update_post_meta.
Чтение и запись метаполей проекта с явной санитизацией. Документация: [g
Точка входа темы: загрузка inc/cpt.php, inc/taxonomies.php, inc/meta.php без захламления functions.php. Рекомендация из документации WordPress.
Минимальный `functions.php`: подключает модули из `inc/`, не держит логи
Класс метабокса для CPT с проверкой nonce, автосохранения и прав пользователя. get_post_meta, update_post_meta, add_meta_box по документации.
Метабокс для поля «URL репозитория» у CPT `project` с проверкой nonce, п
Класс для регистрации произвольного типа записи и таксономии в хуке init. Опирается на register_post_type() и register_taxonomy().
Регистрация CPT и таксономии в одном классе, без размазывания по `functi
Защита от прямого вызова component.php и template.php через проверку константы B_PROLOG_INCLUDED. По документации и рекомендациям 1С-Битрикс — безопасность и предсказуемое выполнение.
Закрывает боль: component.php или template.php можно вызвать напрямую (п
Регистрация автозагрузки классов модуля в include.php по пути от корня модуля. По документации Битрикс — без require_once и сломанных путей при переносе.
Закрывает боль: в модуле подключают классы через `require_once` с относи
Регистрация обработчиков через EventManager в DoInstall() и обязательное unRegisterEventHandler в DoUninstall(). По документации Битрикс — без висячих хендлеров после удаления модуля.
Закрывает боль: после удаления модуля обработчики событий продолжают выз
Выполнение install.sql и uninstall.sql через CDatabase::RunSQLBatch при установке и удалении модуля. По документации 1С-Битрикс, с проверкой ошибок и путём от корня модуля.
Закрывает боль: при установке/удалении модуля нужно создавать и удалять
Регистрация классов /local/php_interface/lib через Loader::registerAutoLoadClasses. PSR-4, без Composer.
Регистрация автозагрузки своих классов из `/local/php_interface/lib` чер
Вынос ID инфоблоков, окружения и прочих настроек в константы. Убирает «магические числа» из кода, упрощает перенос между сайтами.
Константы проекта в одном месте: ID инфоблоков, флаг окружения, прочие н
Подключение обработчиков через EventManager::getInstance()->addEventHandler. Только привязка событий к классам, логика — в сервисах.
Регистрация обработчиков событий через [EventManager](https://dev.1c-bit
Минимальный init.php по рекомендациям Bitrix: подключает constants.php, autoload.php и events.php. Вся логика вынесена в отдельные файлы и классы.
Единая точка входа в пользовательский PHP — `/local/php_interface/init.p
Получение первого и последнего значения массива через array_first() и array_last() (PHP 8.5). Для результатов getList, массивов заказов и элементов без reset/end.
В PHP 8.5 добавлены функции [array_first()](https://www.php.net/manual/e
Иммутабельный DTO статуса заказа с clone with (PHP 8.5): клонирование с подменой полей без методов withX(). По RFC clone with.
В Bitrix и интеграциях статусы заказов и стадии сделок удобно представля
Функция формирования ключа кеша с #[ oDiscard] (PHP 8.5): предупреждение, если возвращаемое значение не использовано. Приведение (void) для явного игнорирования.
Функция формирует ключ кеша или ID, но вызывающий код иногда забывает по
Обработка входящих данных цепочкой через pipe-оператор |> (PHP 8.5): строка → trim → json_decode → фильтр. Для агентов и API в 1C-Битрикс.
В агентах и API Bitrix входящие данные часто проходят несколько этапов:
Отключение выполнения PHP в каталоге upload для сайтов на 1С-Битрикс: через .htaccess (Require all denied) или php_admin_flag engine off в конфиге виртуального хоста.
В 1С-Битрикс каталог `/upload` используется для загружаемых пользователе
Команды grep и find для поиска типичных признаков вредоносного кода и недавно изменённых PHP-файлов в каталоге сайта 1С-Битрикс.
Команды для ручной проверки сайта на 1С-Битрикс после инцидента или для
Минимально безопасный кастомный обработчик: только POST, check_bitrix_sessid(), авторизация через CUser, валидация ввода. По документации 1С-Битрикс (Context, Request).
Безопасный кастомный AJAX-обработчик для 1С-Битрикс: подключается через
Отключение выполнения PHP-файлов в каталоге /upload для сайтов на 1С-Битрикс. Рекомендация по безопасности Bitrix: upload не предназначен для выполнения скриптов.
В документации 1С-Битрикс каталог `/upload` предназначен для загружаемых
Команда certbot certonly --webroot для BitrixVM на CentOS. Путь к сайту в /home/bitrix/ext_www/. По документации Certbot (webroot plugin).
Чтобы выдать сайту на BitrixVM бесплатный SSL от Let's Encrypt, нужен вы
Команды certbot renew, проверка через --dry-run, настройка cron с --deploy-hook для перезагрузки nginx. По документации Certbot.
Сертификаты Let's Encrypt действуют 90 дней. Без автоматического продлен
Проверка доступности .well-known/acme-challenge и проверка дат сертификата через openssl s_client. Для диагностики ошибок выпуска и продления.
При выпуске или продлении сертификата Let's Encrypt по методу HTTP-01 пр
Минимальный конфиг nginx для использования сертификатов Let's Encrypt в BitrixVM. Файлы в /etc/nginx/bx/conf/ и подключение через include в site_avaliable.
В BitrixVM nginx обслуживает сайты по конфигам из `/etc/nginx/bx/site_av
Как включить и читать план выполнения запроса: EXPLAIN ANALYZE, BUFFERS, Seq Scan vs Index Scan. По официальной документации PostgreSQL.
Медленный SELECT в PostgreSQL проще всего разбирать по плану выполнения:
Создание таблицы с JSONB, GIN-индекс для быстрого поиска, операторы @> и ?. Копируй — вставляй — работает. По документации PostgreSQL.
Поиск по полю JSONB без индекса приводит к полному сканированию таблицы
Подключение к PostgreSQL из Node.js через пакет pg: Pool, query с $1 $2, запросы по JSONB. Копируй — вставляй — работает. По документации node-postgres.
Подключение к PostgreSQL из Node.js делают через клиент [node-postgres (
Полное руководство: pg_dump, psql, pg_restore. Форматы дампов (plain, custom, directory), восстановление, проверка целостности.
Полное руководство по бэкапу и восстановлению PostgreSQL одной базы данн
Разбор volumes и bind mounts в Docker Compose: различия, сценарии использования и типичные ошибки при работе с данными.
В Docker Compose данные в контейнер можно подключать двумя способами: **
Объяснение работы сетей Docker: почему localhost внутри контейнера — это не хост и как правильно подключаться к сервисам.
Приложение в одном контейнере не может подключиться к базе по `localhost
Практические приёмы уменьшения Docker-образов: alpine-образы, кеширование слоёв и правильный порядок инструкций Dockerfile.
Большой Docker-образ дольше качается при деплое и `docker pull`, занимае
Практическое объяснение различий между docker run, docker start и docker exec: когда создавать контейнер, когда запускать и как в него входить.
Три команды часто путают: все они «запускают что-то» в Docker, но делают
Практические пары «было (Webpack) / стало (Vite)»: process.env.NODE_ENV → import.meta.env, алиасы, DefinePlugin → define. Только документированный API, минимальный показательный код и выводы по миграции.
При переносе проекта с Webpack на Vite чаще всего ломаются переменные ок
Практический build.mjs для сборки библиотеки или небольшой утилиты через официальный API esbuild: entryPoints, bundle, outdir, minify, sourcemap, target. Запуск: node build.mjs.
Собрать библиотеку или CLI-утилиту на TypeScript/ESM без тяжёлого конфиг
Минимальный конфиг Webpack 5 для production-сборки: mode production, entry/output с contenthash, filesystem cache, resolve.extensions, базовая обработка JS/TS через babel-loader. Только официальный API, без устаревших опций.
Нужен минимальный production-конфиг Webpack 5: минификация, contenthash
Минимальный и достаточный конфиг Vite для современного фронтенд-проекта: ESM, TypeScript, defineConfig, алиасы, build.target, sourcemap, порты dev и preview. Только официальный API, без экспериментальных опций.
Нужен минимальный и достаточный конфиг Vite для продакшн-сборки: ESM, Ty
Обёртка над Bitrix\Main\Config\Option::get с явным возвращаемым типом string|int|bool|null для опций, свойств и полей инфоблоков.
В 1С-Битрикс D7 метод `\Bitrix\Main\Config\Option::get()` всегда возвращ
Использование match (PHP 8.0) для маппинга кодов статуса заказа в стадии сделки и для параметров сортировки запросов WordPress.
Маппинг кода статуса заказа в стадию сделки CRM или строки режима («late
Использование встроенного атрибута #[\Override] для проверки переопределения метода родителя — защита от опечаток и смены сигнатуры.
При переопределении метода в дочернем классе или реализации метода интер
Функция-обёртка над WP_Query с именованными аргументами для читаемого вызова и устранения путаницы порядка параметров.
В WordPress запросы постов делаются через `WP_Query`: аргументы передают
Режим output: 'static' (по умолчанию) — все страницы генерируются при сборке. Без adapter, подходит для блогов и лендингов.
В Astro по умолчанию включён режим статической сборки: при `astro build`
Директива client:visible запускает гидратацию островка только когда элемент попадает в зону видимости. Меньше JS при загрузке.
В Astro островки можно гидратировать не только при загрузке страницы, но
Страница Astro по умолчанию рендерится в HTML при сборке. Без островков и client: директив клиентский JavaScript не отправляется.
В Astro по умолчанию компоненты рендерятся в HTML на этапе сборки. Если
Подключение React-компонента как островка с директивой client:load — гидратация при загрузке страницы.
В Astro страница по умолчанию отдаёт статический HTML; интерактивность (
Создание REST endpoint в Astro: APIRoute, динамический сегмент [slug], GET/POST и опциональная авторизация по заголовку.
Когда в Astro-проекте нужен REST API (счётчики просмотров, webhook, адми
Настройка адаптеров Astro для SSR: Node (standalone), Netlify, Vercel. Установка и конфиг в astro.config.mjs.
При сборке Astro-проекта в режиме `output: "server"` или `output: "hybri
Настройка режима рендеринга: static, server, hybrid. Пример hybrid с adapter и выборочным prerender = false для страницы.
Astro поддерживает три режима: **static** (по умолчанию), **server** (вс
Определение Action с accept: form, валидация полей через Zod (astro/zod), вызов из HTML-формы и Astro.getActionResult().
При обработке форм в Astro в режиме SSR или hybrid часто нужна типобезоп
Правильная типизация ответов от API с использованием дженериков. Создание переиспользуемого типа ApiResponse<T> для работы с различными эндпоинтами.
Типизация ответов от API — одна из самых частых задач в TypeScript. Джен
Правильная типизация обработчиков событий DOM и кастомных событий. Работа с MouseEvent, KeyboardEvent и создание типобезопасных компонентов.
Типизация событий и обработчиков помогает избежать ошибок при работе с D
Использование дженериков для создания универсальных функций, работающих с разными типами данных без потери типизации.
Дженерики позволяют создавать функции, которые работают с разными типами
Использование встроенных утилитарных типов TypeScript: Partial, Pick, Omit, Required, Readonly для трансформации типов без дублирования кода.
TypeScript предоставляет встроенные утилитарные типы для трансформации с
Официальная конфигурация Nginx для Bitrix CMS с поддержкой PHP-FPM, URL rewriting, кеширования статики и безопасности. Основано на документации Bitrix24.
Конфигурация Nginx для Bitrix CMS с PHP-FPM. Основано на официальной док
Конфигурация Nginx для статического Astro сайта с поддержкой SPA роутинга, кеширования, gzip и правильных MIME типов. Основано на официальной документации Astro.
Конфигурация Nginx для статического Astro сайта. Astro генерирует статич
Официальная конфигурация Nginx для Laravel приложений с PHP-FPM, поддержкой роутинга и безопасности. Основано на официальной документации Laravel.
Конфигурация Nginx для Laravel приложений с PHP-FPM. Основано на официал
Официальная конфигурация Nginx для WordPress с PHP-FPM, поддержкой pretty permalinks, кеширования и безопасности. Основано на документации WordPress.org.
Под WordPress на Nginx запросы к PHP отдаёт PHP-FPM через fastcgi; для «
Настройка default server в Nginx для отклонения запросов по IP и неизвестным доменам. Защита от сканеров и экономия ресурсов.
Настройка default server для отклонения запросов по IP и неизвестным дом
Настройка нескольких сайтов (virtual hosts) на одном сервере Nginx. Примеры для Ubuntu/Debian (sites-available/sites-enabled) и CentOS/Rocky (conf.d).
Настройка нескольких сайтов на одном сервере через virtual hosts (server
Настройка отдельных access_log и error_log для каждого сайта (virtual host) в Nginx. Структура директорий для логов, уровни логирования.
Настройка отдельных логов для каждого virtual host. Упрощает отладку и м
Рекомендуемая структура каталогов для хостинга нескольких сайтов на одном сервере. Организация public, logs, releases директорий.
При нескольких сайтах на одном сервере удобно держать каждый сайт в отде
Правильная последовательность: nginx -t → systemctl reload. Скрипт проверки, обработка ошибок, zero-downtime.
Правильная последовательность проверки конфигурации Nginx перед перезагр
Настройка кастомных страниц ошибок 404, 500, 502, 503 в nginx через директиву error_page. Внутренние и внешние редиректы.
Настройка кастомных страниц ошибок в nginx через директиву `error_page`.
Настройка gzip в Nginx: уровни сжатия, типы файлов, проверка. Оптимизация производительности и размера трафика.
Настройка gzip-сжатия в Nginx для уменьшения размера передаваемых данных
Настройка access_log и error_log в nginx: уровни логирования, форматирование, отключение логов для статики, ротация логов.
Настройка логов доступа и ошибок в nginx. Уровни логирования, форматиров
Скрытие версии nginx, добавление заголовков безопасности (X-Frame-Options, X-Content-Type-Options, CSP) в nginx.
Настройка базовой безопасности в nginx: скрытие версии сервера и добавле
Минимальная конфигурация nginx для статического сайта (HTML, CSS, JS). try_files, index, обработка ошибок.
Минимальная рабочая конфигурация nginx для статического сайта. Подходит
User helper для логирования в файл с безопасными путями, JSON-контекстом и простой ротацией логов по размеру или дате.
User helper для безопасного логирования в файл с JSON-контекстом и ротац
Получение цепочки разделов элемента через CIBlockSection::GetNavChain и формирование хлебных крошек для навигации.
Получение цепочки разделов элемента и построение хлебных крошек для нави
Команды для безопасной очистки Docker: образы, контейнеры, тома, build cache. Предупреждения, проверка места, автоматизация.
Команды для очистки неиспользуемых Docker-ресурсов: образы, контейнеры,
Получение позиций корзины заказа через Order->getBasket() с информацией о товарах, ценах и количестве.
Получение состава корзины заказа с детальной информацией о позициях. Исп
Практические примеры использования :has() для подсветки родительского элемента при наличии дочернего с ошибкой или active состоянием.
Использование CSS `:has()` для стилизации родителя на основе состояния д
Быстрый анализ логов nginx для поиска проблемных IP и URL по ошибкам 404/500 через awk, sort, uniq.
По логам nginx нужно быстро выяснить, какие IP и URL дают больше всего 4
Обновление остатков товара через CCatalogProduct::Update с установкой количества на складе через CCatalogStoreProduct.
В импортах, синхронизации с 1С или обработчиках заказов нужно обновлять
Генерация RSS-ленты из Content Collections в Astro через эндпоинт или статическую генерацию.
Генерация RSS-ленты из Content Collections (блог) в Astro. Используйте д
Создание безопасного AJAX-эндпоинта через стандартный механизм Bitrix с проверкой CSRF, прав доступа и валидацией данных.
Создание безопасного AJAX-эндпоинта через стандартный механизм Bitrix. И
Надёжная защита wp-login.php через ограничение попыток входа и rate-limit через nginx или WordPress hooks.
Защита от брутфорса через ограничение попыток входа и rate-limit. Исполь
Обёртка для логирования с записью в /bitrix/logs/ и JSON-контекстом для удобного парсинга логов.
Централизованное логирование с записью в `/bitrix/logs/` и JSON-контекст
Получение истории оплат через PaymentCollection и отгрузок через ShipmentCollection с информацией о датах и статусах.
В личном кабинете и админке нужно показывать, какие оплаты и отгрузки ес
Короткий рецепт восстановления удалённого коммита через git reflog и создание новой ветки.
Коммит пропал после `git reset --hard`, rebase или удаления ветки — в об
Три способа откатить последний коммит в Git: soft (сохраняет изменения в staging), mixed (сохраняет в рабочей директории), hard (полное удаление).
Три варианта отката последнего коммита в зависимости от того, что нужно
Оптимизация functions.php: отключение emoji, embeds и других ненужных фич для ускорения загрузки.
Отключает emoji, embeds, лишние скрипты и стили для ускорения фронтенда.
Каноничная реализация списка элементов через CIBlockElement::GetList с постраничкой через CDBResult->NavString и настройкой количества на странице.
В 1С-Битрикс список элементов инфоблока с постраничной навигацией делают
Получение ID родительского товара через CCatalogSku::GetProductInfo с проверкой подключения модуля catalog и обработкой результата.
В каталоге Bitrix по ID торгового предложения (SKU) нужно получить родит
Быстрая проверка групп пользователя и редирект с примерами для разных сценариев доступа.
Ограничение доступа к страницам и разделам по группам пользователя в 1С-
Изменение статуса заказа через setField() и сохранение через save() с обработкой результата и ошибок.
В 1С-Битрикс заказы в D7 меняют через объект `Order`: без вызова `save()
Команды WP-CLI для массового обновления плагинов, проверки статуса и выгрузки списка установленных плагинов.
Массовое обновление плагинов через WP-CLI с проверкой статуса и экспорто
Создание и обновление элементов через CIBlockElement::Add/Update с проверкой результата через LAST_ERROR и валидацией данных.
Создание и обновление элементов инфоблока с корректной обработкой ошибок
Конфигурация Nginx для автоматического редиректа с HTTP на HTTPS и с www на non-www (или наоборот) в одном server block.
Конфигурация Nginx для автоматического редиректа с HTTP на HTTPS и норма
Работа с Content Collections: получение коллекции, фильтрация по тегам и сортировка по дате публикации.
В Astro списки постов и статей обычно хранят в Content Collections. Чтоб
Чтение и запись настроек через COption или \Bitrix\Main\Config\Option с примерами использования в модулях и компонентах.
Работа с настройками модулей через API конфигурации Bitrix. Используйте
Шаблон агента или cron-задачи с файловой блокировкой (flock) для предотвращения параллельного выполнения на одной ноде.
Агенты и cron-задачи в 1С-Битрикс могут вызываться чаще, чем успевает за
Шаблон агента или cron-задачи с защитой от параллельного запуска через файловую блокировку или DB lock.
Агенты и cron-задачи могут запускаться снова до завершения предыдущего з
Получение всех цен товара через CPrice::GetList с фильтрацией по типу цены и выбором актуальной цены с учётом скидок.
В каталоге 1С-Битрикс у товара может быть несколько записей цен (разные
Команда rsync для безопасного копирования файлов с отображением прогресса, исключением файлов и проверкой перед выполнением.
Копирование каталога через rsync без исключений тянет node_modules, .git
Загрузка заказа через \Bitrix\Sale\Order::load() и получение информации о статусе, оплате и доставке через коллекции.
Загрузка заказа через D7 API и получение информации о статусе, оплате и
Безопасное получение элемента инфоблока по символьному коду через CIBlockElement::GetList с выборкой свойств и кешированием результата.
Получение элемента инфоблока по символьному коду с выборкой свойств и ке
Защита от бесконечной рекурсии при обновлении заказа через флаг контекста и логирование изменений.
Предотвращает бесконечную рекурсию при обновлении заказа в обработчике с
Типизированные функции debounce и throttle для ограничения частоты вызовов обработчиков событий (поиск, скролл, resize).
Типизированные функции debounce и throttle для оптимизации обработчиков
Быстрый поиск больших файлов и директорий, занимающих место на диске (du, sort, find).
Быстрый поиск больших файлов и директорий для освобождения места на диск
Защита обработчиков событий OnSaleOrderSaved от рекурсивных вызовов через статический флаг или проверку контекста выполнения.
Защита обработчиков событий от рекурсивных вызовов при изменении заказа
Быстрое получение ID родительского товара через CCatalogSku с кешированием результата для оптимизации.
В каталоге 1С-Битрикс у торгового предложения (SKU) есть связь с родител
Безопасная замена URL через wp search-replace с учётом serialized данных в БД (важно для опций, виджетов).
Безопасная замена старых URL на новые после миграции WordPress с учётом
Работа с Highloadblock через \Bitrix\Main\Entity\DataManager с выборкой, фильтрацией и кешированием данных.
Загрузка данных из Highloadblock через D7 ORM API. Используйте для работ
Комплексная проверка безопасности: CSRF токен через check_bitrix_sessid(), авторизация через $USER->IsAuthorized(), права через $USER->IsAdmin().
Комплексная проверка безопасности перед выполнением действий: CSRF токен
Обновление свойства элемента через CIBlockElement::SetPropertyValuesEx с проверкой существования элемента и обработкой ошибок.
Нужно изменить одно или несколько свойств элемента инфоблока (в обработч
Расчёт минимальной цены товара среди всех типов цен с учётом количества, скидок и доступности типов цен для пользователя.
В каталоге 1С-Битрикс у товара может быть несколько типов цен (розница,
Простая обёртка над error_log для структурированного логирования в JSON формате с контекстом для продакшн-приложений.
Простая обёртка над `error_log` для структурированного логирования в JSO
Ничего не найдено. Попробуйте изменить фильтры или поисковый запрос.