hariadi / laravel-boilerplate-generator
为 Laravel Boilerplate 生成模型、属性、关系、作用域特质和仓库
v2.0.0
2020-07-02 07:01 UTC
Requires
- illuminate/console: 5.7.*|5.8.*|^6.0|^7.0
- illuminate/filesystem: 5.7.*|5.8.*|^6.0|^7.0
- illuminate/support: 5.7.*|5.8.*|^6.0|^7.0
Requires (Dev)
- mockery/mockery: ^1.2
- orchestra/testbench: ^5
- phpunit/phpunit: ^8.5
README
通过控制台命令为 Laravel 5 Boilerplate 生成模型、属性、关系、作用域特质和仓库
安装
composer require --dev hariadi/laravel-boilerplate-generator
Laravel 5.7+
包已支持自动发现,可直接使用。
Laravel 5.4
将服务提供者注册到你的 config/app.php
Hariadi\Boilerplate\GeneratorCommandServiceProvider::class,
如果你想只为开发添加此库,可以将以下代码添加到你的 app/Providers/AppServiceProvider.php
文件中的 register()
方法
public function register() { if ($this->app->environment() !== 'production') { $this->app->register(\Hariadi\Boilerplate\GeneratorCommandServiceProvider::class); } // ... }
显示命令列表
php artisan list
你会看到
app app:attribute Create a new attribute traits for model app:method Create a new method traits for model app:model Create a new Eloquent model class with attribute, relationship and scope traits app:relationship Create a new relationship traits for model app:repository Create a new repository class app:scope Create a new scope traits for model
用法
生成模型
选项
-N|--namespace
: 类命名空间。输出策略将遵循此命名空间
php artisan app:model ModelName
在 Models
目录下生成 ModelName.php
,并在 Models\ModelName\Traits
目录下生成 ModelNameAttribute
、ModelNameRelationship
和 ModelNameScope
特质。
生成属性
选项
-N|--namespace
: 类命名空间。输出策略将遵循此命名空间
php artisan app:attribute ModelName
在 Models/Traits/Attribute
目录下生成 ModelNameAttribute.php
。
生成方法
选项
-N|--namespace
: 类命名空间。输出策略将遵循此命名空间
php artisan app:method ModelName
在 Models/Traits/Method
目录下生成 ModelNameMethod.php
。
生成关系
选项
-N|--namespace
: 类命名空间。输出策略将遵循此命名空间
php artisan app:relation ModelName
在 Models/Traits/Relationship
目录下生成 ModelNameRelationship.php
。
生成作用域
选项
-N|--namespace
: 类命名空间。输出策略将遵循此命名空间
php artisan app:scope ModelName
在 Models/Traits/Scope
目录下生成 ModelNameScope.php
。
生成仓库
选项
-d|--disable-softdelete
: 禁用软删除方法(forceDelete
和restore
)
php artisan app:repository Backend/ModelName
在 app/Repositories/Event
目录下生成 ModelNameRepository.php
。
输出策略
没有 --namespace
选项
示例文件和目录输出
php artisan app:model ModelName php artisan app:model AnotherModelName
app/Models
├── AnotherModelName
│ ├── AnotherModelName.php
│ └── Traits
│ ├── Attribute
│ │ └── AnotherModelNameAttribute.php
│ ├── Method
│ │ └── AnotherModelNameMethod.php
│ ├── Relationship
│ │ └── AnotherModelNameRelationship.php
│ └── Scope
│ └──AnotherModelNameScope.php
└── ModelName
├── ModelName.php
└── Traits
├── Attribute
│ └── ModelNameAttribute.php
├── Method
│ └── ModelNameMethod.php
├── Relationship
│ └── ModelNameRelationship.php
└── Scope
└── ModelNameScope.php
有 --namespace
选项
在给定的命名空间选项中生成组合。示例文件和目录输出
php artisan app:model ModelName --namespace=Survey php artisan app:model AnotherModelName --namespace=Survey
app/Models
└── Survey
├── ModelName.php
├── AnotherModelName.php
└── Traits
├── Attribute
│ ├── ModelNameAttribute.php
│ └── AnotherModelNameAttribute.php
├── Method
│ ├── ModelNameMethod.php
│ └── AnotherModelNameMethod.php
├── Relationship
│ ├── ModelNameRelationship.php
│ └── AnotherModelNameRelationship.php
└── Scope
├── ModelNameScope.php
└── AnotherModelNameScope.php
许可证
Laravel Boilerplate Generator 命令是开源软件,许可协议为 MIT 许可证