deemmoor/bitrix-boilerplate 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

deemmoor/bitrix-boilerplate

Composer 安装命令:

composer create-project deemmoor/bitrix-boilerplate

包简介

Production-ready boilerplate для проектов на 1C-Битрикс

README 文档

README

Bitrix Boilerplate

Packagist PHP License Repo size Last commit

Bitrix Boilerplate

Болванка для проектов на 1C-Битрикс: каркас проекта, основной модуль, API-роуты, контроллеры, use case, репозитории, DTO/presenter-слой, консольные команды, OpenAPI и миграции.

Быстрый старт

1. Через curl

bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap)

Мастер спросит сценарий установки:

  • local — локальная разработка: нужен только DL, PHP/Composer выполняются внутри контейнеров.
  • server — свой VPS/выделенный сервер: Битрикс уже стоит в public/, PHP/Composer работают на сервере.
  • hosting — shared-хостинг: Битрикс уже стоит в public_html/, код кладётся в app/, public_html заменяется симлинком на app/public.

Если Битрикса нет в docroot, установщик остановится с явной ошибкой и откатит созданные файлы.

2. Через Composer

composer create-project deemmoor/bitrix-boilerplate myproject

После create-project запускается тот же мастер. Composer-способ требует PHP >= 8.4, composer и git на машине; для чистой локальной Docker/DL-установки используйте curl.

Что внутри болванки

Болванка ставится поверх ядра Битрикса и даёт готовый каркас проекта со слоёной структурой по принципам чистой архитектуры:

  • Основной модуль local/modules/<vendor>.engine со слоями: роуты (routes.php), контроллеры, use case'ы, репозитории, DTO и presenter'ы. В модуле лежит рабочий пример среза (сущность Example, эндпоинты /api/example и /api/test, консольная команда ping) — копируйте его код и делайте свой функционал по образцу.
  • REST API с OpenAPI-документацией из PHP-атрибутов — доступна на /api/doc.
  • Консольные команды на symfony/console — php console.
  • Миграции и сидеры БД на phinx — каталог database/.
  • Конфигурация через .env: БД (MySQL/PostgreSQL/MariaDB), Redis/Memcached, кэш и сессии Битрикса. scripts/init генерирует из него local/.settings.php и dbconn.php.
  • Демо-срез удаляется одной командой (php scripts/strip-demo.php), при установке на прод мастер удаляет его сам — остаётся чистый каркас модуля.

Сценарии установки

Локальная разработка

Понадобится DL — инструмент локальной разработки в Docker-контейнерах (он же поднимает nginx/PHP/БД).

mkdir myproject && cd myproject
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \
  --target local \
  --dir .

Установщик поднимет контейнеры через dl up, затем по выбору скачает public/bitrixsetup.php, выполнит dl deploy или пропустит установку ядра.

Свой сервер/VPS

cd /var/www/site
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \
  --target server \
  --dir . \
  --public-dir public

Ожидается, что Битрикс уже установлен в /var/www/site/public/bitrix. Код и зависимости ставятся в /var/www/site, docroot остаётся public/.

Shared-хостинг

cd ~/site.ru
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \
  --target hosting \
  --dir app \
  --public-dir public_html

Ожидается, что Битрикс уже установлен в ~/site.ru/public_html/bitrix. Установщик перенесёт bitrix/, local/, upload/ в app/ и заменит public_html симлинком на app/public.

Что проверяет установщик

  • Для всех режимов: bash >= 4, git.
  • Для local: наличие DL; PHP/Composer запускаются через dl exec внутри контейнера.
  • Для server и hosting: PHP >= 8.4, composer, установленный Битрикс в docroot.
  • При аварии выводит конкретную ошибку и откатывает созданные файлы/каталоги.
  • Не даёт случайно переустановиться поверх живого проекта: если болванка уже стоит в каталоге, установка остановится. Осознанная переустановка — флаг --reinstall; перенастроить окружение без перекладки файлов можно, запустив ./scripts/bootstrap из каталога проекта.
  • Перед добавлением файлов в индекс проверяет, что .env игнорируется git.

Что делает мастер

  • Копирует болванку из GitHub или запускается из уже скачанного проекта.
  • Генерирует .env из .env.example, сохраняя комментарии.
  • Локально запускает dl up, затем скачивает bitrixsetup.php, выполняет dl deploy или пропускает шаг по выбору.
  • На server/hosting ставит APP_ENV=production, APP_DEBUG=false и всегда удаляет демо-срез.
  • До init может удалить демо-код: Example-сущность, /api/example, /api/test, команду ping.
  • Запускает scripts/init: локально через dl exec bash, на сервере/хостинге через выбранный PHP_BIN.
  • Переименовывает vendor.engine в <vendor>.engine, обновляет composer.json, ставит Composer-зависимости.
  • По выбору делает git init и добавляет файлы в индекс. Коммит не делает — сообщение и авторство первого коммита остаются за вами.

Неинтерактивный запуск

Локально:

bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \
  --target local \
  --dir . \
  --vendor acme \
  --name shop \
  --db mysql \
  --redis \
  --cache redis \
  --session redis \
  --bitrix setup \
  --strip-demo \
  --git \
  --yes

Свой сервер:

cd /var/www/site
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \
  --target server \
  --dir . \
  --public-dir public \
  --vendor acme \
  --name site \
  --cache files \
  --session database \
  --git \
  --yes

Shared-хостинг:

cd ~/site.ru
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \
  --target hosting \
  --dir app \
  --public-dir public_html \
  --vendor acme \
  --name site \
  --cache files \
  --session database \
  --git \
  --yes

После установки

Локально мастер уже поднял контейнеры и поставил Composer-зависимости внутри них. Если выбран --bitrix setup, откройте /bitrixsetup.php в браузере и установите ядро Битрикса.

После установки ядра:

dl exec "vendor/bin/phinx migrate -c phinx.php"

На сервере/хостинге:

vendor/bin/phinx migrate -c phinx.php

Если системный php старый, укажите нужный бинарник:

PHP_BIN=php8.4 bash scripts/bootstrap
php8.4 vendor/bin/phinx migrate -c phinx.php

Ручные команды

Локально команды проекта выполняйте внутри контейнера:

cp .env.example .env
dl up
dl exec bash scripts/init
dl exec composer install

На сервере/хостинге без DL:

cp .env.example .env
PHP_BIN=php8.4 bash scripts/init
composer install --no-dev --optimize-autoloader

Удалить демо-срез вручную можно только до scripts/init:

dl exec php scripts/strip-demo.php

На сервере/хостинге без DL используйте php scripts/strip-demo.php.

Доставка изменений

  • Код local/ доставляйте через git.
  • Структуру БД оформляйте phinx-миграциями в database/.
  • Демо-контент и тестовые данные оформляйте сидерами.
  • Ядро bitrix/, upload/, .env, local/.settings.php, dbconn.php не коммитьте.

API

После установки модуля документация доступна по адресу:

/api/doc

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: Shell

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固