ronasit/laravel-entity-generator

提供控制台命令用于生成实体。

3.0.0-beta 2024-08-26 06:24 UTC

README

Laravel-Entity-Generator - 该生成器用于为新实体创建标准类栈。

安装

我们强烈建议只在开发环境中安装此包

    composer require ronasit/laravel-entity-generator --dev

如果您使用的是Laravel 5.5或更高版本,包将被自动发现。否则,您需要手动在config/app.php中进行配置。

'providers' => [
    // ...
    RonasIT\Support\EntityGeneratorServiceProvider::class,
],

对于开发安装,提供商可以可选地注册

class AppServiceProvider
{
    public function boot(): void
    {
        // ...
        if (config('app.env') === 'local') {
            App::register(\RonasIT\Support\EntityGeneratorServiceProvider::class);
        }
    }
}

并发布。

    php artisan vendor:publish --provider="RonasIT\Support\EntityGeneratorServiceProvider"

示例

    php artisan make:entity EntityName \ 
        -S required_string_field \
        --integer=not_required_integer_field \
        --boolean-required=required_boolean_field \
        -j data \
        -e AnotherEntityName

文档

make:entity artisan命令 - 生成用于项目中新实体操作的类栈。

语法

> php artisan make:entity [entity-name] [options]

entity-name - 实体名称,建议使用CamelCase命名风格,例如WhitelistedDomain

options - 以下列表中的一个或多个选项

字段定义选项

-i|--integer               : Add integer field to entity.

-I|--integer-required      : Add required integer field to entity. If you want to specify default value you have to do it manually.

-f|--float                 : Add float field to entity.

-F|--float-required        : Add required float field to entity. If you want to specify default value you have to do it manually.

-s|--string                : Add string field to entity. Default type is VARCHAR(255) but you can change it manually in migration.

-S|--string-required       : Add required string field to entity. If you want to specify default value ir size you have to do it manually.

-b|--boolean               : Add boolean field to entity.

-B|--boolean-required      : Add boolean field to entity. If you want to specify default value you have to do it manually.

-t|--timestamp             : Add timestamp field to entity.

-T|--timestamp-required    : Add timestamp field to entity. If you want to specify default value you have to do it manually.

-j|--json                  : Add json field to entity.

关系定义选项

-a|--has-one               : Set hasOne relations between you entity and existed entity.

-A|--has-many              : Set hasMany relations between you entity and existed entity.

-e|--belongs-to            : Set belongsTo relations between you entity and existed entity.

-E|--belongs-to-many       : Set belongsToMany relations between you entity and existed entity.   

单个类生成模式选项

--only-model               : Set this flag if you want to create only model. This flag is a higher priority than --only-migration, --only-tests and --only-repository.

--only-repository          : Set this flag if you want to create only repository. This flag is a higher priority than --only-tests and --only-migration.

--only-service             : Set this flag if you want to create only service.

--only-controller          : Set this flag if you want to create only controller.

--only-requests            : Set this flag if you want to create only requests.

--only-migration           : Set this flag if you want to create only repository. This flag is a higher priority than --only-tests.

--only-factory             : Set this flag if you want to create only factory.

--only-tests               : Set this flag if you want to create only tests.

--only-seeder              : Set this flag if you want to create only seeder.

--only-resource            : Set this flag if you want to create only resource.

模式组合选项

--only-entity              : Generate stack of classes to work with entity inside the app (Migration/Model/Service/Repository)

--only-api                 : Generate stack of classes to implement API part to work with entity (routes/Controller/Requests/Tests)

额外生成选项

--methods=[default: CRUD]  : Don't work for `--only-entity` option. Will generate API classes (routes, controller's
                             methods, requests, tests) only for choosed methods.
                             C - created
                             R - read (search and get by id)
                             U - update
                             D - delete

发布说明

1.3

从1.3版本开始,您需要将以下数据添加到config/entity-generator.php中

    'paths' => [
        ... // your old data
        'seeds' => 'database/seeds',
        'database_seeder' => 'database/seeds/DatabaseSeeder.php',
        'translations' => 'resources/lang/en/validation.php'
    ],
    'stubs' => [
        ... // your old data
        'empty_factory' => 'entity-generator::empty_factory',
        'translation_not_found' => 'entity-generator::translation_not_found',
        'validation' => 'entity-generator::validation',
        'seeder' => 'entity-generator::seeder',
        'database_empty_seeder' => 'entity-generator::database_empty_seeder'
    ]