skagarwal/generators

此包已被废弃且不再维护。未建议替代包。

目录结构 Laravel 5.1 生成器。

1.0.5 2015-05-28 00:00 UTC

This package is not auto-updated.

Last update: 2022-12-02 20:19:39 UTC


README

Laravel-5.1-Generators

Build Status Latest Stable Version Latest Unstable Version License

如果您希望将您的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.phpproviders 数组

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