Заготовка для 1C Bitrix проектов.
Стандартно установить или развернуть из бекапа копию Битрикса.
Клонировать репозиторий (за пределами публичной директории веб-сервера).
Переинициализировать репозиторий: удалить директорию .git и выполнить git init.
Установить зависимости и "собрать" фронтенд:
composer install && npm install && npm run encore -- devПеренести в корень клонированного проекта содержимое директорий bitrix, upload и local
(не затирая файл local/php_interface/init.php).
В директорию sites/s1 перенести публичные файлы сайта.
Настроить вебсервер для работы с директорией sites/s1 либо сделать симлинк вида
/home/bitrix/www -> /home/bitrix/projectname/sites/s1Создать файл .env
touch .envЗаполнить его данными в соответствии с файлом-образцом .env.example
Выполнить команду
./vendor/bin/jedi env:init defaultЭта команда скопирует в директорию bitrix системные файлы настроек сконфигурированные для работы с
переменными окружения, а также настройки
шаблонизатора Twig
и логгера Monolog
Установить модуль миграций
php migrator installДоустановить модуль Базовых Битрикс компонентов. в административном интефейсе:
Marketplace > Установленные решения > ББК (bex.bbc)
Composer и PSR-4 автозагрузка классов из директории local/classes. Пространство имен \Local\
- arrilot/bitrix-migrations
- arrilot/bitrix-models
- bitrix-expert/bbc
- bitrix-expert/monolog-adapter
- bitrix-expert/tools
- maximaster/tools.twig
- notamedia/console-jedi
- kint-php/kint и kint-php/kint-twig
- vlucas/phpdotenv
Для проверки пхп-кода используется squizlabs/PHP_CodeSniffer.
Код проверятся в соответствии с набором правил, описанных в файле ruleset.xml.
На данный момент, это стандарт PSR-2 (рус./англ.), а также наличие PHPDoc-комментариев.
Проверяются файлы из директорий local/classes и local/components
(за исключением файлов template.php)
Проверка осуществляется командой (это запуск утилиты phpcs с предустановленными параметрами)
composer run lint:phpТакже есть возможность исправить часть обнаруженных ошибок утилитой phpcbf
composer run fix:phpВ качестве "сборщика" изпользуется symfony/webpack-encore.
По-умолчанию файлы фронтенда должны располагаться в директории local/assets.
Это можно переопределить в файле конфигурации webpack.config.js
Основные команды:
npm run encore -- dev # запустить сборку один раз
npm run encore -- dev --watch # запустить сборку в режиме слежения за файлами
npm run encore -- production # запустить сборку для продакшенаМини-модуль vueInvoker
предназначен для инициализации Vue компонентов на странице.
Он упрощает использование Vueклассическом веб-приложении, когда нет возможности
использовать один "корневой" экземпляр Vue (Как, например, это устроено в одностраничных приложениях).
Вывести на страницу элемент-плейсхолдер для компонента:
<div class="vue-component" data-component="DemoApp" data-initial='{"test": "data"}'></div>Создать соответствущий Vue-компонент (в директории local/assets/scripts/vue/components/:
<template>
<div class="demo-app">
{{ hello }}
{{ initial.test }}
</div>
</template>
<script>
export default {
data() {
return {
hello: 'World',
};
},
props: ['initial'],
};
</script>Добавить его в Коллекцию local/assets/scripts/vue/collection.js:
import DemoApp from './components/DemoApp.vue';
export default {
DemoApp,
};JS-файлы проверяются на соответствие стандарту airbnb утилитой ESLint. Конфигурация линтера - файл .eslintrc
npm run lint:scripts # показать ошибки
npm run fix:scripts # исправить ошибкиSCSS-файлы проверяются утилитой stylelint. Основа - набор правил sass-guidelines. Конфигурация - файл .stylelintrc
npm run lint:styles # показать ошибки
npm run fix:styles # исправить ошибкиЗа исправление стилевых файлов отвечает пакет stylefmt
Структура проекта напоминает заранее настроенную
многосайтовость на разных доменах
с отдельными директориями для каждого сайта. Файлы ядра подключаются относительными символическими ссылками.
Для добавления нового сайта нужно создать новую директорю в ./sites/(лучше всего если ее название будет
соответствовать коду нового сайта). И добавить в нее ссылки на необходимые файлы и директории:
mkdir sites/s2 # создать директорию для дополнительного сайта
cd sites/s2 # перейти в нее
ln -s ../../bitrix bitrix # и
ln -s ../../local local # добавить
ln -s ../../upload upload # ссылки
Далее необходимо настроить веб-сервер для работы с новым сайтом.
Гайдлайн разработки Битрикс-проекта
Для пользователей Phabricator
В файле .arclint настроены основные проверки кода, в том числе описанные выше.