hsameerc / laravel-modular-structure
Laravel 5 模块化结构生成器
Requires
- php: >=5.4.0
- laravel/framework: >=5.1.6
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 文件)。