skagarwal / generators
此包已被废弃且不再维护。未建议替代包。
目录结构 Laravel 5.1 生成器。
1.0.5
2015-05-28 00:00 UTC
Requires
- illuminate/console: ~5.1
- illuminate/container: ~5.1
- illuminate/filesystem: ~5.1
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: ~4.0
- skagarwal/reflection: ~1.0
This package is not auto-updated.
Last update: 2022-12-02 20:19:39 UTC
README
Laravel-5.1-Generators
如果您希望将您的laravel应用程序保持良好的结构,并且厌倦了每次为每个模型手动创建所有目录和子目录,那么这个包将帮助您自动化这个过程。
此包严格遵循目录结构
app/ | |_Foo/ | |_Foo.php // The Eloquent Model | |_Contracts/ | |_FooRepository.php // black interface | |_Events/ | |_Jobs/ | |_Listeners/ | |_Repositories/ | |_EloquentFooRepository.php // impletements the FooRepository.php interface out of the box.
**可用的命令:** - `create:model` - `create:repository` - `create:event` - `create:listener` - `create:job`
更多功能即将推出
使用方法
步骤 1:通过 Composer 安装
composer require skagarwal/generators --dev
步骤 2:添加服务提供者
将 SKAgarwal\Generators\GeneratorsServiceProvider
添加到 Config/app.php
的 providers
数组
Config/app.php
'providers' => [
...
...
...
'SKAgarwal\Generators\GeneratorsServiceProvider',
],
步骤 3:运行 Artisan!
设置完成。从控制台运行 php artisan
,您将在 make:*
命名空间部分看到新的命令。
create:model
描述
- 创建模型、迁移和目录结构。
参数
model
- 必需。 要创建的模型名称。
选项
--migration
- 可选。 如果提供,将创建模型的迁移。
用法
php artisan create:model Foo ---migration
这将生成以下内容
app/ | |_Foo/ | |_Foo.php // The Eloquent Model | |_Contracts/ | |_FooRepository.php // black interface | |_Events/ | |_Policies/ | |_Jobs/ | |_Listeners/ | |_Repositories/ | |_EloquentFooRepository.php // impletements the FooRepository.php interface out of the box.
由于提供了 --migration
选项,因此将在 Database\Migrations\
中生成 Foo
的迁移。
create:repository
描述
- 在相应目录中创建一个存储库接口及其 Eloquent 实现。
参数
model
- 必需。 模型名称。存储库将在该模型目录下创建。
选项
--repository
- 可选。 要创建的存储库名称。如果不提供,将创建具有模型名称的存储库。
用法
php artisan create:repository Foo
这将生成以下内容
app\Foo\Contracts\FooRepository.php app\Foo\Repositories\EloquentFooRepository.php
如果提供了 --repository=Bar
或 -r Bar
,则将生成以下内容
app\Foo\Contracts\BarRepository.php app\Foo\Repositories\EloquentBarRepository.php
注意
-
请勿忘记在服务容器中将接口绑定到其实例。
create:event
描述
- 在
{model}/Events/
目录中创建一个事件类。
参数
name
- 必需。 事件类的名称。
选项
model
- 必需。 事件所属的模型名称。
用法
php artisan create:event UserRegistered --model=User
这将生成以下内容
User\Events\UserRegistered.php
create:listener
描述
- 在
{model}\Listeners\
目录中创建一个事件监听器。
参数
name
- 必需。 事件监听器的名称。
选项
model
- 必需。 事件监听器所属的模型名称。event
- 必需。 正在被监听的监听器名称。queued
- 可选。 表示监听器应该被排队。
用法
php artisan create:listener SendWelcomeEmail --event=UserRegistered --model=User
这将生成以下内容
User\Listeners\SendWelcomeEmail.php
注意
-
请记住在
EventServiceProvider
中注册事件监听器。
create:job
描述
- 在
{model}\Jobs\
目录中创建一个作业。
参数
name
- 必需。 作业的名称。
选项
model
- 必需。 作业所属模型的名称。queued
- 可选。 表示监听器应该被排队。
用法
php artisan create:job RegisterUser --model=User --queued
这将生成以下内容
User\Jobs\RegisterUser.php
create:policy
描述
- 在
{model}\Policies\
目录中创建一个策略。
参数
name
- 必需。 策略的名称。
选项
model
- 必需。 策略所属模型的名称。
用法
php artisan create:policy PostPolicy --model=Post
这将生成以下内容
Post\Policies\PostPolicy.php