Download the PHP package jeyroik/extas-installer without Composer
On this page you can find all versions of the php package jeyroik/extas-installer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package extas-installer
Описание
Данный пакет позволяет устаналивать совместимые с Extas'ом сущности.
Требования
- PHP 7.4+
- MongoDB 3+
Установка
Установка пакета
# composer require jeyroik/extas-installer:*
Инициализация Extas'a
# vendor/bin/extas init
Эта команда создаст дефолтные контейнеры классов и установит корневые плагины и расширения.
У инициализации имеются следующие стадии (для всех стадий имеются соответствующие интерфейсы):
extas.init
: на этой стадии можно провести дополнительные операции по инициализации пакета.extas.init.section
: на этой стадии можно провести дополнительные операции по инициализации секции.extas.init.item
: на этой стадии можно провести дополнительные операции по инициализации конкретного элемента.
После данной операции установлены все минимально-необходимые плагины и расширения. Если необходимо, чтобы плагин/расширение были установлены данной командой, то необходимо в конфигурации плагина/расширения добавить:
install_on: initialization
- Пример:
Установка сущностей
# vednor/bin/extas install -a my_app
(короткая форма: extas i -a my_app
)
Установка состоит из двух шагов:
- Сбор конфигураций пакетов.
- Установка найденных пакетов.
Имеется возможность с помощью плагинов подключиться к любому моменту в этих двух шагах (для всех стадий имеются соответствующие интерфейсы), стадии указаны по порядку срабатывания:
extas.crawl.packages
: срабатывает после сбора конфигураций.extas.install.<application.name>
:<application.name>
берётся из опции-a
команды установки.extas.install
: на данном этапе есть возможность подключить собственный установщик для реализации какой-то особенной логики установки пакетов.extas.install.package.<package.name>
:<package.name>
берётся из конфигурации пакета. На данном этапе можно провести дополнительные операции по установки пакета.extas.install.package
: стадия, аналогичная предыдущей.extas.install.section.<section.name>
:<section.name>
- имя секции в конфигурации. На данном этапе можно провести дополнительные операции по установке секции.extas.install.section
: стадия, аналогичная предыдущей.extas.install.section.<section.name>.item
: на данном этапе можно провести дополнительные операции по установке конкретного элемента сущности.extas.install.item
: стадия, аналогичная предыдущей.
Удаление сущностей
# vendor/bin/extas uninstall
(короткая формаextas u
)
Для удаления также доступны стадии:
extas.uninstall.<application.name>
extas.uninstall.package.<package.name>
extas.uninstall.package
extas.uninstall.section.<section.name>
extas.uninstall.section
extas.uninstall.item.<section.name>
extas.uninstall.item
Создание и установка пользовательской сущности
-
Создаём класс сущности.
- Создаём репозиторий для сущности.
Из коробки Extas поддерживает MongoDB.
В результате использования данного репозитория, будет создана коллекция my__names
.
- Придумываем имя секции для нашей сущности в конфигурации.
Пусть будет my_names
.
-
Создаём плагин для установки нашей сущности.
- Добавляем плагин и интерфейс репозитория в нашу конфигурацию для extas'a.
По умолчанию, конфигурация находится в корне в файле с именем extas.json
.
Вы можете использовать любое имя - в этом случае не забудьте указать его в флаге -p
при установке (см. ниже).
example.json
- Устанавливаем плагин.
# vendor/bin/extas i
All versions of extas-installer with dependencies
symfony/console Version 5.*
jeyroik/extas-console Version 0.*
jeyroik/extas-base Version 2.*
jeyroik/extas-foundation Version 5.*
jeyroik/extas-repositories-fields-uuid Version 0.*
jeyroik/extas-crawlers Version 0.*
jeyroik/extas-commands-options Version 0.*
jeyroik/extas-exceptions Version 0.*