smarch/motherbox

Laravel 5 包生成器

v0.0.1 2016-04-07 13:57 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:36:50 UTC


README

这可能只对我有用,但我在多个应用程序中都需要它,所以我把这个包打包起来,以防你也需要它。 :)

Motherbox

Motherbox 是一个用于 Laravel 5 的包生成器。我以前在 Laravel 4 中一直使用 "workbench",但是不喜欢我找到的那些,而且每次运行 CRUD 生成器后都要复制/粘贴/修改一大堆文件,所以我决定制作一个完整的包生成器,允许我自定义生成的文件和视图字段。

概述

从命令行的一行开始,Motherbox 将生成一个适用于 laravel 的整个 packagist.com 包。你可以使用提供的占位符文件,或者自定义占位符文件以符合你的需求。你可以选择性地为你的包创建以下文件中的任何文件

  • Composer.json 文件(具有可配置选项)
    • Vendor
    • Name
    • 作者
    • Email
  • 配置
  • 控制器
  • 外观
  • 许可证
  • 中间件
  • 迁移
    • 迁移(如果你只是想创建文件而不运行它,将 "迁移" 设置为 "no")
  • 模型
    • 主键
    • 字段
    • 可填充
    • 受保护
  • 策略
  • 请求
  • 路由
  • 种子
  • 测试
  • 视图(创建、显示/编辑和索引)

你可以将不希望键入的配置选项信息放置在 motherbox 配置文件中。所以如果你制作了多个包并且永远不需要迁移文件,你可以设置你的配置文件为 migration = 'no' 并且永远不会创建一个。但是,如果你决定某个包需要迁移,你可以添加 --migration=yes 选项,并且它将创建文件。 命令行选项始终覆盖配置文件选项。

安装

本页面旨在介绍安装,有关使用方法的更多信息,请参阅 wiki。(进行中)

🔲 Composer

composer require "smarch/motherbox"

📝 服务提供商

Motherbox 是一个 Laravel atristan 命令,但它生成的视图使用来自 "Laravel Collective" 的 HTML 表单 包进行 Html 和表单渲染,所以如果你还没有安装它,Composer 会将其安装。一旦 Composer 安装了 Motherbox 运行所需的必要包,你需要打开你的 laravel 配置页面以服务提供商,并添加 Motherbox (如果需要,还包括 Laravel Collective Html 提供商)。为了正常工作,你需要引用这两个服务提供商: HTML 表单 和 Motherbox。

config/app.php

   /*
    * Third Party Service Providers
    */
    Collective\Html\HtmlServiceProvider::class, // For Motherbox to function
    Smarch\Motherbox\MotherboxServiceProvider::class, // For Motherbox

📝 外观

接下来,你需要在你的配置 app 文件中添加 Forms 外观。Motherbox 没有外观,因为它只是一个 artisan 命令。

config/app.php

    /*
    * Third Party Service Providers
    */
    'Form'  => Collective\Html\FormFacade::class,	// required for Motherbox Forms
    'HTML'  => Collective\Html\HtmlFacade::class,	// required for Motherbox Forms

📇 发布占位符和配置文件

如果你希望使用 motherbox 配置选项或自定义占位符文件以满足你的需求,你需要发布这些文件。从你的命令提示符(运行 artisan 命令的地方)输入以下命令 php artisan vendor:publish --provider=Smarch\Motherbox\MotherboxServiceProvider。这将创建 Motherbox 配置文件,并将占位符文件放在 ROOT\resources\motherbox\stubs

php artisan vendor:publish --provider=Smarch\Motherbox\MotherboxServiceProvider

🔱 为什么叫“Motherbox”?

我已经成为DC迷超过30年了,我所有的包裹都有一个DC宇宙的名字。作为一个完整的包装生成器,“Motherbox”对于DC爱好者来说使用起来更有意义。😄