PHPackages                             zebrainsteam/laravel-generator-package - 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. zebrainsteam/laravel-generator-package

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

zebrainsteam/laravel-generator-package
======================================

Generator the composer package for Laravel

021PHP

Since Sep 28Pushed 4y ago3 watchersCompare

[ Source](https://github.com/zebrainsteam/laravel-generator-package)[ Packagist](https://packagist.org/packages/zebrainsteam/laravel-generator-package)[ RSS](/packages/zebrainsteam-laravel-generator-package/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![Scrutinizer Code Quality](https://camo.githubusercontent.com/7ec33e8b920dbf3192c7b60ca90db1d208665197ac500c03eec2f1637e523b43/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5a65627261696e737465616d2f6c61726176656c2d67656e657261746f722d7061636b6167652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/Zebrainsteam/laravel-generator-package/?branch=main)[![Code Coverage](https://camo.githubusercontent.com/0787d1bd045d0e57a97a76f46a0abc098c856332611bd6a3f80fb57931fc6505/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5a65627261696e737465616d2f6c61726176656c2d67656e657261746f722d7061636b6167652f6261646765732f636f7665726167652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/Zebrainsteam/laravel-generator-package/?branch=main)[![Build Status](https://camo.githubusercontent.com/ec17a905cbb7fb3afc86bb33db18c46b667d166e50250da91ad8818e1103e0ed/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5a65627261696e737465616d2f6c61726176656c2d67656e657261746f722d7061636b6167652f6261646765732f6275696c642e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/Zebrainsteam/laravel-generator-package/build-status/main)[![Code Intelligence Status](https://camo.githubusercontent.com/04a068ee740b0c432539f480a9a64f94285a669ddf832750911582ec4b2b77d5/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5a65627261696e737465616d2f6c61726176656c2d67656e657261746f722d7061636b6167652f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d61696e)](https://scrutinizer-ci.com/code-intelligence)

Laravel generator package - Генератор пакетов для Laravel
=========================================================

[](#laravel-generator-package---генератор-пакетов-для-laravel)

**Главная задача пакета, автоматизировать генерацию кода для решения бизнес задач при разработке на фреймворке Laravel:**

- Миграции
- (Опционально) Сиды (+factories)
- Модель
- CRUD интерфейс (без view для возможно переиспользовать в своих сценариях)
- (Опционально) Интерфейс для Laravel Admin + route
- (Опционально) Базовое API для работы с данными + route
- (Опционально) API для передачи архитектуры формы и фильтров для автоматизации frontend + route
- (Опционально) Базовые тесты

**В отличии от других генераторов для Laravel, данный пакет:**

- Упаковывает код в отдельный composer package.
- Возможность реализовать кастомные поля.

### План работы

[](#план-работы)

1. Устанавливаем пакет Zebrainsteam/laravel-generator-package
2. Настраиваем конфигурационный файл пакета, указав структуру и данные планируемых пакетов.
3. Запускаем генератор и на выходе получаем сгенерированные пакеты в отдельных категориях готовые для публикации и последующего использования.

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

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

```
composer require Zebrainsteam/laravel-generator-package
```

Конфигурационный файл
---------------------

[](#конфигурационный-файл)

```
php artisan vendor:publish --force --provider="Zebrainsteam\LaravelGeneratorPackage\ServiceProvider" --tag="config"
```

Добавление ServiceProvider в config/app.php секция 'providers'
--------------------------------------------------------------

[](#добавление-serviceprovider-в-configappphp-секция-providers)

```
Zebrainsteam\LaravelGeneratorPackage\ServiceProvider::class,
```

Добавление миграций для словарей
--------------------------------

[](#добавление-миграций-для-словарей)

```
php artisan migrate
```

Добавление стандартных словарей
-------------------------------

[](#добавление-стандартных-словарей)

```
php artisan db:seed --class="Zebrainsteam\LaravelGeneratorPackage\DataBase\Seeders\DatabaseSeeder"
```

Сборка пакетов из конфига
-------------------------

[](#сборка-пакетов-из-конфига)

**Все пакеты**

```
php artisan lgp:make
```

**Пакеты с конкретными vendor**

```
php artisan lgp:make vendor_name
```

**Конкретный пакет**

```
php artisan lgp:make vendor_name/package_name
```

Настройка конфигурационного файла
---------------------------------

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

**fields** - директива принимает массив классов, доступных в пакете полей (Fields). Заменяет стандартный набор.

Реализовать свое поле можно реализуя интерфейс FieldInterface или наследуя абстрактный класс FieldAbstract.

Пример: ```
    'fields' => [
        'text' => TextField::class,
        'string' => StringField::class,
        'integer' => IntegerField::class,
        'float' => FloatField::class,
    ],
```

**generator** - многомерный массив, элемент массива - настройки отдельного пакета для генерации.

**name** - имя генерируемого пакета

**description** - описание генерируемого пакета

**vendor** - vendor генерируемого пакета (аккаунт в GIT)

**package** - имя package генерируемого пакета (репозиторий аккаунта в GIT)

**model** - имя модели в генерируем пакете

**table** - название таблицы в БД к которой будет привязана модель в генерируем пакете

**generator** - позволяет отключить генерацию тестов (tests), сидов и фабрик (seed), api общего (api), api lля предоставления информации для автоматизации frontend (api\_frontend) и компонентов необходимых для работы пакета в Laravel Admin (laravel\_admin)

**form** - cхема генерации формы для добавления/редактирования записей. Конечный элемент название поля.

**filter** - cхема генерации формы фильтров. Конечный элемент название поля.

**fields** - многомерный массив. Ключ - это имя поля в БД. Особенности настройки полей смотрите ниже.

Пример:

```
    'generator' => [
        [
            'name' => 'Name package',
            'description' => 'Description package',
            'vendor' => 'Zebrainsteam',
            'package' => 'test',
            'model' => 'test',
            'table' => 'test',
            'generator' => [
                'tests' => true,
                'seed' => true,
                'api' => true,
                'api_frontend' => true,
                'laravel_admin' => true,
            ],
            'fields' => [
                'title' => [
                    НАСТРОЙКИ ПОЛЯ title
                ]
            ],
            'form' => [
                [
                    'title',
                ],
            ],
            'filter' => [
                [
                    'title',
                ],
            ]
        ]
    ]
```

### Заполнение настроек отдельного поля

[](#заполнение-настроек-отдельного-поля)

**name\_field\_in\_db** - уникальное название в таблице базы данных

**field** - ключ используемого доступного поля из директивы 'fields'.

**label** - используемое имя / заголовок поля.

**placeholder** - placeholder для использования в html.

**default** - значение по умолчанию для поля.

**index** - Если установить true, то для столбца будет создан индекс.

**fillable** - добавляет поле в массив fillable создаваемой модели.

**hidden** - добавляет поле в массив hidden создаваемой модели для скрытия.

**references** - принимает 4 параметра для создания связи модели с моделью для другой таблицы. has - тип связи, model - путь с именем модели с которой будет создана связь, table - имя таблицы с которой будет создана связь, field - имя поля с которым будет создана связь.

**param** - по необязательное поле умолчанию null. Используется для передачи параметров для генерации некоторых field (например массив словарей для select форм или идентификатор словаря из БД).

**filter** - принимает параметры помогающие фильтровать и создавать проверку при работе модели:

**filter\['nullable'\]** - возможность записать в ячейку значение NULL

**filter\['unique'\]** - поле принимает только уникальное значение

**filter\['required'\]** - поле обязательное для заполнения

**filter\['max'\]** - максимальная длина значения для записи в БД

**filter\['min'\]** - минимальная длина значения для записи в БД

**filter\['mask'\]** - маска для проверки соответствия значения желаемому значению.

```
'name_field_in_db' => [
    'field' => 'text',
    'label' => 'Title',
    'placeholder' => 'Enter label',
    'default' => null,
    'index' => false,
    'fillable' => true,
    'hidden' => false,
    'references' => [
        'model' => 'App\Models\User',
        'table' => 'user',
        'field' => 'id',
        'has' => 'hasOne',
    ],
    'param' => false,
    'filter' => [
        'nullable' => true,
        'unique' => false,
        'required' => false,
        'max' => null,
        'min' => null,
        'mask' => null,
    ]
]
```

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity28

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/aa8bb4901ca980182fdc9579a44de2d5703a5c2477f0ddfca74c0d5fc455541b?d=identicon)[garbuzivan](/maintainers/garbuzivan)

![](https://www.gravatar.com/avatar/d67c7d9364dd2e063c8c9f7356979d62f23eac8c06ece295724efd38c54a584f?d=identicon)[Анзор](/maintainers/%D0%90%D0%BD%D0%B7%D0%BE%D1%80)

### Embed Badge

![Health badge](/badges/zebrainsteam-laravel-generator-package/health.svg)

```
[![Health](https://phpackages.com/badges/zebrainsteam-laravel-generator-package/health.svg)](https://phpackages.com/packages/zebrainsteam-laravel-generator-package)
```

###  Alternatives

[qinchen/web-utils

A web application common utils

111.4k](/packages/qinchen-web-utils)

PHPackages © 2026

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