flaack/laravel-make-module

提供 artisan make:module 命令

dev-master 2021-05-26 01:06 UTC

This package is auto-updated.

Last update: 2024-09-26 08:09:14 UTC


README

本包提供了一个 php artisan make:module 控制台命令。

关于

这包含了一种有见地的组织方式,以模块化方式组织类和文件夹,而不是使用 Laravel 默认提供的传统文件夹布局。

兼容性

  • 与 Laravel 版本 5.x 和 6.x 兼容

安装

  • composer require --dev flaack/laravel-make-module

用法

  • php artisan make:module Foo

生成的 Foo 相关类将按如下方式构建

app
└── Modules
    └── Api
        └── Foo
            ├── Model
            │   └── Foo.php
            ├── Resource
            │   ├── Foo.php
            │   └── Foos.php
            └── FooController.php

以及一个新的数据库迁移

database
└── migrations
    └── 2019_11_25_224100_create_foos_table.php

内部机制

此命令通过 make:model 调用 --migration=truemake:resource(用于项和集合资源类),以及 make:controller 调用 --api=true,并对这些调用的每个,覆盖了 Laravel 默认的文件夹布局以生成结果类。

构建的结果将放置在 app/Modules/Api 目录下,以模块命名的目录。

待办事项/想拥有的功能

  • 配置选项?
  • 一个标志,有时 覆盖默认设置
  • 一个具有 protected $appends = []; 的模型模板
    • ... 因为 总是用于 API
  • 一个具有一些样板代码的控制器模板
    • use App\Modules\Api\Foo\* 指令
    • index 方法,返回 Foo::paginate() 作为 new JsonCollection
    • show 方法,返回 new JsonResource($foo)