mangosoft/modules 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 /modules with status.
  • php artisan module:remove {name} → Safely remove modules.

📦 Installation

  1. 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.php if 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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-14