hsameerc/laravel-modular-structure

Laravel 5 模块化结构生成器

dev-master 2016-07-22 06:47 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:23:03 UTC


README

文档

安装

通过终端通过 Composer 安装此包是最佳方式。

将以下行添加到 composer.json 文件中,并执行 composer update

"hsameerc/laravel-modular-structure": "dev-master"

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

服务提供者

Hsameerc\LaravelModularStructure\ModuleServiceProvider::class,

入门

内置 Artisan 命令 php artisan make:module name [--migration] [--translation] 生成一个在 app/Modules 文件夹中的模块以及必要的迁移。

您可以生成具有多个单词的模块名称,例如 foo-bar

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

laravel-project/
    app/
    |-- Modules/
        |-- FooBar/
            |-- Controllers/
                |-- FooBarController.php
            |-- Models/
                |-- FooBar.php
            |-- Views/
                |-- index.blade.php
            |-- Translations/
                |-- en/
                    |-- example.php
            |-- Requests/
                |-- FooBarRequest.php
            |-- routes.php
            |-- helper.php
                

用法

生成的 RESTful Resource Controller 和相应的 routes.php 使其易于开始。在我的例子中,您将在浏览器中打开 laravel-project:8000/foo-bar 时看到来自 Modules/FooBar/Views/index.blade.php 的输出。

禁用模块

如果您想禁用一个或多个模块,您可以将一个 modules.php 添加到项目中的 app/config 文件夹。此文件应返回一个包含应 加载 的模块名称的数组。例如:

return [
    'enable' => array(
        "customer",
        "jobs",
        "reporting",
    ),
];

在这种情况下,LaravelModularStructure 只会加载这三个模块 customer jobs reporting。在 app/Modules 文件夹中的其他每个模块都不会加载。

如果没有在配置文件夹中找到 modules.php 文件,Laravel Modular Structure 将加载所有模块。

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

此外,还有对 app/config/modules.php 文件的一些更改。现在您必须返回一个带有 enable 键的数组而不是 list

许可证

Laravel Modular Structure 在 MIT 许可证的条款下授权(有关详细信息,请参阅 LICENSE 文件)。