PHPackages                             fi1a/package-config - 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. fi1a/package-config

ActiveComposer-plugin

fi1a/package-config
===================

Управление конфигурацией пакетов

0291PHP

Since Feb 18Pushed 3y ago1 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

Управление конфигурацией пакетов
================================

[](#управление-конфигурацией-пакетов)

[![Latest Version](https://camo.githubusercontent.com/c0c36a0f17df03a512b8059dd583cc06ca6ca24b9cf4a65dd2dfe407e409e48a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666931612f7061636b6167652d636f6e6669673f6c6162656c3d72656c65617365)](https://packagist.org/packages/fi1a/package-config)[![Software License](https://camo.githubusercontent.com/745ccc5f988a9d62197c1d70613643c0bd5d5c469660b5b3410fcc695b8e1941/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f666931612f7061636b6167652d636f6e6669673f7374796c653d666c61742d737175617265)](https://github.com/fi1a/package-config/blob/master/LICENSE)[![PHP Version](https://camo.githubusercontent.com/a7a46f2e1bdb716b4218ae04ed34392194ac1141ee02a3cbf4dd8377d9ba9144/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f666931612f7061636b6167652d636f6e6669673f7374796c653d666c61742d737175617265)](https://php.net)[![Coverage Status](https://camo.githubusercontent.com/0c967d746eb7f4fe28065a3b94d23faa207cd6f4a968535b20fce0310a87cf89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d3130302532352d677265656e)](https://camo.githubusercontent.com/0c967d746eb7f4fe28065a3b94d23faa207cd6f4a968535b20fce0310a87cf89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d3130302532352d677265656e)[![Total Downloads](https://camo.githubusercontent.com/14b92dfea4998a878ed93c38a6a59885c5aef079d60a1e6dcb0881da5572d178/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f666931612f7061636b6167652d636f6e6669672e7376673f7374796c653d666c61742d73717561726526636f6c6f72423d6d656469756d76696f6c6574726564)](https://packagist.org/packages/fi1a/package-config)[![Support mail](https://camo.githubusercontent.com/116fa0d447870a3a6c6c1f4b296c889707a6e30a69c2b28cbe8d0f6f5c3d4920/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6d61696c2d737570706f7274253430666931612e72752d627269676874677265656e)](mailto:support@fi1a.ru)

Предоставляет возможность использовать конфигурационные файлы в вашем пакете. Объединяет все конфигурационные файлы из установленных пакетов в один и предоставляет доступ по группам. Данный пакет реализует систему плагинов Composer, которая обеспечивает сборку конфигураций непосредственно при установке нового пакета.

Установка
---------

[](#установка)

Установить этот пакет можно как зависимость, используя Composer.

```
composer require fi1a/package-config
```

Использование
-------------

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

Данный пакет представляет собой плагин Composer. После установки или удаления пакета вызываются обработчики событий, которые запускают сборку конфигураций:

- проверяется наличие ключа `package-config` в секции `extra` файла `composer.json` установленных пакетов;
- формируется карта конфигурационных файлов всех пакетов и сохраняется в файл `vendor/fi1a/package-config/runtime/.map.json`.

Ключ `package-config` в секции `extra` файла `composer.json` может иметь слудующую структуру:

```
{
  "extra": {
    "package-config": {
      "params": "params.php",
      "web": "web.php",
      "modules": [
        {
          "sort": 1000,
          "file": "modules2.php"
        },
        {
          "sort": 900,
          "file": "modules1.php"
        }
      ]
    }
  }
}
```

Ключи `params`, `web` и `modules` являются названием группы конфигураций. По данному параметру группируются значения в объединенной конфигурации (например конфигурация из файла `params.php` будет записана в группу `params` и будет доступна по данному значению).

Значения `params.php`, `web.php`, `modules1.php` и `modules2.php` являются названиями файлов конфигурации в директории `configs`.

Значение ключа `sort` представляет собой сортировку по которой будут отсортированы в порядке возрастания файлы конфигураций перед объединением. Соответсвенно данный параметр влияет из какого конфигурационного файла значение будет перезаписано. По умолчанию для пакета сортировка равна 500, а для корневого пакета равна 1000.

Файлы конфигураций пакетов должны располагаться в папке `configs` вашего пакета.

Для доступа к значениям конфигурационных файлов можно воспользоваться хелпером `config(string $group)`:

```
config('params')->get('foo:bar:baz', 'defaultValue');
```

Хелпер возвращает объект `Fi1a\Config\ConfigValuesInterface` из пакета [fi1a/config](https://github.com/fi1a/config#%D0%BA%D0%BB%D0%B0%D1%81%D1%81-%D1%81%D0%BE-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8)Данный класс позволяет получать доступ к ключам массива по пути (foo:bar:baz).

Команды
-------

[](#команды)

Плагин добавляет команды `package-config-publish` и `package-config-rebuild` в Composer.

Команда `package-config-publish` публикует конфигурационные файлы пакета в директорию `configs`корневого пакета:

```
composer package-config-publish  [files]
```

Опубликовать все файлы конфигураций пакета:

```
composer package-config-publish foo/bar
```

Опубликовать указанные файлы конфигураций пакета:

```
composer package-config-publish foo/bar params.php web.php
```

Команда `package-config-rebuild` запускает сборку конфигураций. Она будет полезна при добавлении нового файла конфигурации или изменение сортировки, когда требуется пересоздать файл карты конфигурационных файлов.

```
composer package-config-rebuild
```

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d4f26c1adaa632741fadf55b1328cbd22ac91282aecfae2027d105df0ddedee4?d=identicon)[fi1a](/maintainers/fi1a)

### Embed Badge

![Health badge](/badges/fi1a-package-config/health.svg)

```
[![Health](https://phpackages.com/badges/fi1a-package-config/health.svg)](https://phpackages.com/packages/fi1a-package-config)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
