drupal-composer/drupal-project

Composer Drupal Project — шаблон проекта предоставляет стартовый набор для управления зависимостями сайта при помощи Composer.

Данный способ установки Drupal является альтернативой установки Drupal из архива, скаченного на drupal.org.

Что предоставляет данный шаблон

Шаблон предоставляет свой composer.json файл, который берет на себя задачи:

  • Ядро Drupal будет установлено в web директорию.
  • Будет использоваться сгенерированный Composer'ом vendor/autoload.php (автолоадер зависимостей), вместо поставляемого Drupal /web/vendor/autoload.php.
  • Модули (пакеты типа drupal-module) будут установлены в web/modules/contrib.
  • Темы оформления (пакеты типа drupal-theme) будут установлены в web/themes/contrib.
  • Установочные профили (пакеты типа drupal-profile) будут установлены в web/profiles/contrib.
  • Будут созданы со всеми необходимыми правами файлы по умолчанию settings.php и services.yml.
  • Будет создана web/sites/default/files.
  • Последняя версия Drush будет установлена с сайтом по пути vendor/bin/drush.
  • Последняя версия DrupalConsole будет установлена с сайтом по пути vendor/bin/drupal.
  • Будут созданы переменные окружения основанные на вашем .env файле. Для примера смотрите .env.example.

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

Должен ли я коммитить в репозиторий проекта контриб модули которые я скачал?

Рекомендация Composerнет. Они представляют аргументацию против данного подхода, а также решения, если все же решите так делать.

Должен ли я коммитить в репозиторий проекта скафолд файлы?

Плагин drupal-scaffold (поставляется с данным проектом) может загружать скафолд-файлы (например index.php, update.php, robots.txt и т.д. - те что лежать не в папке core в легаси варианте с архивом) в web папку вашего проекта. Если вы их не модифицируете, рекомендуется исключить данные файлы из вашего репозитория проекта. Если вам необходимо чтобы данный плагин запускался автоматически после каждой установки или обновления проекта, вы можете зарегистрировать @composer drupal:scaffold команду на post-install и post-update события в вашем composer.json

"scripts": {
    "post-install-cmd": [
        "@composer drupal:scaffold",
        "..."
    ],
    "post-update-cmd": [
        "@composer drupal:scaffold",
        "..."
    ]
},

Как я могу применять патчи на загружаемые модули?

Если вам необходимо применять патчи, вы можете это сделать при помощи плагина composer-patches (поставляется с шаблоном).

Для того чтобы добавить патч для Drupal модуля "foobar", добавьте секцию "patches" в раздел "extra" вашего composer.json файла:

"extra": {
    "patches": {
        "drupal/foobar": {
            "Patch description": "URL or local path to patch"
        }
    }
}

Как мне указать версию PHP?

Данный проект поддерживает PHP 5.6 как минимально требуемую версию для запуска, тем не менее вы можете скачать зависимости которые потребуют PHP 7+.

Для того чтобы предотвратить это, укажите конкретную версию PHP в config разделе composer.json:

"config": {
    "sort-packages": true,
    "platform": {
        "php": "5.6.40"
    }
},

Смотрите также

Ссылки

🌱 Помогите нам сделать документацию лучше!

Вся документация Druki с отрытым исходным кодом. Нашли ошибку или неточность? Создайте pull request.

Редактировать текущий документ Обсудить улучшение

Или узнайте как контрибутить.

🤔 По-прежнему нужна помощь?

Не нашли ответа на свой вопрос? Попросите помощи у сообщества!

Задайте вопрос на GitHub Смотрите другие ресурсы сообщества