PHPackages                             fi1a/installers - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fi1a/installers

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

fi1a/installers
===============

Установка и обновление пакетов через composer для фреймворков

2.1.2(3y ago)01643MITPHPPHP ^7.3 || ^8

Since Nov 10Pushed 3y ago1 watchersCompare

[ Source](https://github.com/fi1a/installers)[ Packagist](https://packagist.org/packages/fi1a/installers)[ Docs](https://github.com/fi1a/installers)[ RSS](/packages/fi1a-installers/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (9)Versions (12)Used By (3)

Установка и обновление пакетов через composer для фреймворков
=============================================================

[](#установка-и-обновление-пакетов-через-composer-для-фреймворков)

[![Latest Version](https://camo.githubusercontent.com/d1bd0463993de0bab9eb5fa23341e008409fb748dff1f49552f84f172e9b18d7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666931612f696e7374616c6c6572733f6c6162656c3d72656c65617365)](https://packagist.org/packages/fi1a/installers)[![Software License](https://camo.githubusercontent.com/b983379dcf5dfacbad84e7a7f03dc4d10ab01b57de5eb3893e725f437c56c366/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f666931612f696e7374616c6c6572733f7374796c653d666c61742d737175617265)](https://github.com/fi1a/installers/blob/master/LICENSE)[![PHP Version](https://camo.githubusercontent.com/1d28250834a4f979195945d6943055db4f9d42ea1bee0643784809a9f29f30c1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f666931612f696e7374616c6c6572733f7374796c653d666c61742d737175617265)](https://php.net)[![Coverage Status](https://camo.githubusercontent.com/0c967d746eb7f4fe28065a3b94d23faa207cd6f4a968535b20fce0310a87cf89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d3130302532352d677265656e)](https://camo.githubusercontent.com/0c967d746eb7f4fe28065a3b94d23faa207cd6f4a968535b20fce0310a87cf89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d3130302532352d677265656e)[![Total Downloads](https://camo.githubusercontent.com/3e2cc2e4915d8a4453a419a57ec5fc2f9f5dde89c660c15c58890edca0870e3d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f666931612f696e7374616c6c6572732e7376673f7374796c653d666c61742d73717561726526636f6c6f72423d6d656469756d76696f6c6574726564)](https://packagist.org/packages/fi1a/installers)[![Support mail](https://camo.githubusercontent.com/116fa0d447870a3a6c6c1f4b296c889707a6e30a69c2b28cbe8d0f6f5c3d4920/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61696c2d737570706f7274253430666931612e72752d627269676874677265656e)](mailto:support@fi1a.ru)

Эта библиотека осуществляет установку, обновление и удаление пакетов на основе типа через composer для фреймворков. Имеется возможность настроить путь установки для каждого пакета. Помимо размещения по нужному пути осуществляется установка пакета в фреймворке, если устанавлевыемый пакет поддерживает это.

Поддерживаемые типы пакетов
---------------------------

[](#поддерживаемые-типы-пакетов)

FrameworkTypesBitrix`bitrix-d7-module`Пример composer.json файла
--------------------------

[](#пример-composerjson-файла)

В файле composer.json необходимо указать тип пакета "type": "bitrix-d7-module" и подключить пакет «require»: { "fi1a/installers": "^2.0" }.

```
{
 "name": "foo/bar",
 "type": "bitrix-d7-module",
 "require": {
  "fi1a/installers": "^2.0"
 }
}
```

Это установит ваш пакет в папку с модулями 1С-Битрикс, когда пользователь запустит установку.

Пользовательские пути установки
-------------------------------

[](#пользовательские-пути-установки)

Доступные переменные для использования в путях: {{vendor}}, {{name}}.

Вы можете указать путь для установки в `composer.json` для пакетов:

```
{
 "extra": {
  "installer-paths": {
    "bitrix/modules/{{vendor}}.{{name}}": ["foo/bar", "baz/qux"]
  }
 }
}
```

Вы можете указать путь для установки в `composer.json` для определенных типов пакетов:

```
{
 "extra": {
  "installer-paths": {
    "bitrix/modules/{{vendor}}.{{name}}": ["type:bitrix-d7-module"]
  }
 }
}
```

Вы можете указать путь для установки в `composer.json` для определенного vendor:

```
{
 "extra": {
  "installer-paths": {
    "bitrix/modules/{{vendor}}.{{name}}": ["vendor:foo"]
  }
 }
}
```

Установка через composer модуля 1С-Битрикс (тип пакета bitrix-d7-module)
------------------------------------------------------------------------

[](#установка-через-composer-модуля-1с-битрикс-тип-пакета-bitrix-d7-module)

Для установки модуля 1С-Битрикс (тип пакета `bitrix-d7-module`) необходимо указать путь до папки с 1С-Битрикс в вашем `composer.json` файле проекта, после чего выполнить установку пакета через `composer require`, предварительно выполнив `composer require fi1a/installers`.

```
{
 "extra": {
  "bitrix-dir": "../bitrix"
 }
}
```

```
composer require fi1a/installers
composer require foo/bar
```

После копирования файлов модуля, выставляется флаг в параметрах модулей битрикс, который означает установку модуля через composer. Получить значение можно таким образом:

```
\Bitrix\Main\Config\Option::get('fi1a.installers', 'YOUR_MODULE.ID') === 'Y';
```

где `YOUR_MODULE.ID`, идентификатор устанавливаемого модуля.

Поддержка установки и удаления пакета
-------------------------------------

[](#поддержка-установки-и-удаления-пакета)

Класс библиотеки используется для определения возможности установки или удаления пакета (методы `canInstall` и `canUninstall`). Также содержит методы вызываемые при установке, удалении или обновлении пакета (методы `install`, `uninstall` и `update`).

Класс библиотеки должен располагаться по пути `installers/Library.php`, иметь название `Fi1a\Installers\{{Vendor}}{{Name}}\Library` и реализовывать интерфейс `Fi1a\Installers\LibraryInterface`.

МетодОписание`canInstall`Можно установить пакет или нет`canUninstall`Можно удалить пакет или нет`install`Устанавливает пакет`uninstall`Удаляет пакет`update`Обновляет пакет`getCurrentVersion`Возвращает текущую версию пакета`getUpdateVersion`Возвращает версию для обновления пакетаПример класса библиотеки для типа пакета `bitrix-d7-module`:

```
