mangosoft/modules
最新稳定版本:v1.0.1
Composer 安装命令:
composer require mangosoft/modules
包简介
A lightweight modular system for Laravel that helps you organize your application into independent, self-contained modules. Each module has its own Controllers, Models, Providers, Views, and Routes, making large-scale apps easier to manage, scale, and maintain.
README 文档
README
A lightweight modular system for Laravel that helps you organize your application into independent, self-contained modules. Each module has its own Controllers, Models, Providers, Views, and Routes, making large-scale apps easier to manage, scale, and maintain.
✨ Features
- ✅ Generate modules easily with folder structure (
Controllers,Models,Providers,Views,Routes). - ✅ Automatic autoloading via
Modules\\namespace. - ✅ Per-module ServiceProvider bootstrapping.
- ✅
php artisan make:module {name} --api→ API-only module (controller +routes/api.php). - ✅ Migration file generation per module.
- ✅
php artisan module:list→ Show all modules in/moduleswith status. - ✅
php artisan module:remove {name}→ Safely remove modules.
📦 Installation
-
Install via Composer (if you package this later):
composer require mangosoft/modules
Or if it’s internal:
- Copy the package into your Laravel project.
- Add the service provider in
bootstrap/providers.phpif not auto-discovered.
🚀 Usage
Create a Module
php artisan make:module Blog
This will generate:
/modules
└── Blog
├── Controllers
├── Models
├── Providers
├── Routes
└── Views
Extend with creating an API Module
php artisan make:module Blog --api
Generates also:
/modules/Blog
├── Controllers/Api
└── Routes/api.php
Generate a Migration
Inside a module, run:
php artisan make:migration create_posts_table --module=Blog
List All Modules
php artisan module:list
Displays available modules with status.
Remove a Module
php artisan module:remove Blog
🗂 Folder Structure
/modules
└── {ModuleName}
├── Controllers
├── Models
├── Providers
├── Routes
│ ├── web.php
│ └── api.php
└── Views
🔧 Example
Creating a module named Blog:
php artisan make:module Blog
Then register routes in /modules/Blog/Routes/web.php:
Route::get('/blog', [\Modules\Blog\Controllers\BlogController::class, 'index']);
And define the controller in /modules/Blog/Controllers/BlogController.php:
namespace Modules\Blog\Controllers; use App\Http\Controllers\Controller; class BlogController extends Controller { public function index() { return view('Blog::index'); } }
📌 Roadmap
- Add module publishing (config, assets).
- Module enable/disable support.
- Module testing scaffolding.
📝 License
This project is open-sourced under the MIT license.
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-14