PHPackages                             vittozich/modulara - 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. vittozich/modulara

ActiveLibrary

vittozich/modulara
==================

make modules great again

v0.4.0(3y ago)02PHPPHP ^8.2

Since Feb 13Pushed 2mo agoCompare

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

READMEChangelogDependencies (2)Versions (9)Used By (0)

Modulara
========

[](#modulara)

Библиотека для модульной архитектуры в Laravel.

Совместимость
-------------

[](#совместимость)

- PHP: `^8.2`
- Laravel: `^10 || ^11 || ^12`

Что делает пакет
----------------

[](#что-делает-пакет)

- Автоматически ищет модули в `app/Modular/Modules`.
- Автоматически подключает модульные:
    - маршруты (`Routes/web.php`, `Routes/api.php`)
    - вьюшки (`Views/*`)
    - миграции (`Migrations/*`)
- Публикует базовую структуру `app/Modular/Base` для наследования.
- Поддерживает кэш путей модулей (routes/views/migrations).

Быстрый старт
-------------

[](#быстрый-старт)

1. Подключить пакет через Composer.
2. Опубликовать конфиг:

```
php artisan modulara:config
```

3. Опубликовать базовую структуру:

```
php artisan modulara:base
```

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

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

- `php artisan modulara:config` — публикация `config/modulara.php`
- `php artisan modulara:config --force` — перезаписать конфиг
- `php artisan modulara:base` — публикация `app/Modular/Base`
- `php artisan modulara:base --force` — перезаписать base-файлы
- `php artisan modulara:cache-clear` — очистить кэш путей модулей

Структура модульности
---------------------

[](#структура-модульности)

Корень модульности в приложении:

- `app/Modular/Modules`

Минимальный модуль:

- `Routes` ( `web.php` и/или `api.php` )
- `Views` (если модуль рендерит UI)
- `Migrations` (если модуль хранит миграции)

Рекомендуемые директории модуля:

- `Controllers`
- `Actions`
- `DTOs`
- `Repositories`
- `Models`
- `Tests`

Конфиг `config/modulara.php`
----------------------------

[](#конфиг-configmodularaphp)

```
return [
    'nesting_level' => 1,

    'cache' => [
        'enabled' => true,
        'store' => 'file',
        'ttl_seconds' => 3600,
        'key_prefix' => 'modulara',
        'disabled_on_envs' => [
            'local',
            'dev',
            'development',
            'test',
        ],
    ],
];
```

### Параметры

[](#параметры)

- `nesting_level` — максимальная глубина вложенности модулей.
- `cache.enabled` — включает/выключает кэш путей модулей.
- `cache.store` — Laravel cache store для кэша Modulara (по умолчанию `file`).
- `cache.ttl_seconds` — TTL кэша в секундах. `
