devhridoy/l6modular

为 Laravel 6 设计的模块化模式生成器。它最初由 ArtemSchander 创建,我只是将其实现于 Laravel 6。

dev-master 2019-11-09 20:45 UTC

This package is auto-updated.

Last update: 2024-09-10 07:51:26 UTC


README

此包使您能够使用模块化系统来使用 Laravel 6。您可以将具有自己的控制器、模型、视图、翻译和路由文件的模块简单地放入 app/Modules 文件夹,并继续使用它们。

注意

"此包最初由 artem-schander 创建",我只是修改了一些代码并将其实现于 Laravel 6。谢谢。

文档

  • 安装
  • 入门
  • 使用

安装

通过您的终端使用 Composer 安装此包是最好的方式。

从您的项目根目录运行以下命令

composer require devhridoy/l6modular

完成此操作后,只需将服务提供者添加到项目的 config/app.php 文件中即可。

服务提供者

Devhridoy\L6modular\ModuleServiceProvider::class

入门

内置的 Artisan 命令 php artisan make:module name [--no-migration] [--no-translation]app/Modules 文件夹中生成一个可用的模块,并在必要时创建迁移/翻译。

自版本 1.3.0 以来,您可以使用多词命名的模块,例如 foo-bar

生成的模块将看起来是这样的

laravel-project/
    app/
    └── Modules/
        └── FooBar/
            ├── Controllers/
            │   └── FooBarController.php
            ├── Models/
            │   └── FooBar.php
            ├── Views/
            │   └── index.blade.php
            ├── Translations/
            │   └── en/
            │       └── example.php
            ├── routes
            │   ├── api.php
            │   └── web.php
            └── helper.php

使用

生成的 RESTful Resource Controller 和相应的 routes/web.php 使得快速上手变得简单。在我的例子中,您可以通过在浏览器中打开 laravel-project:8000/foo-bar 来看到来自 Modules/FooBar/Views/index.blade.php 的输出。

1.0.0 更新版本针对 Laravel 6

您必须遵循模块文件夹的 upper camel case 命名约定。如果您有一个 Modules/foo 文件夹,您必须将其重命名为 Modules/Foo

此外,在 app/config/modules.php 文件中也有一些变化。现在您必须返回一个具有 enable 键的数组,而不是 list

许可证

L6 Modular 在 MIT 许可证 的条款下发布(有关详细信息,请参阅 LICENSE 文件)。