risentang / lumen-modules

Laravel 模块管理

v1.0 2018-12-04 05:19 UTC

This package is auto-updated.

Last update: 2024-09-04 17:31:01 UTC


README

本项目基于 nWidart/laravel-modules 进行修改。

注:非常感谢 nWidart/laravel-modules 提供的 Laravel 模块化开发引擎,它非常清晰地分离了项目中每个业务模块的文件夹结构。但由于 Lumen 5.5 的底层结构与 Laravel 有很大不同,虽然 nwidart 本人为我们提供了对 Lumen 的支持,但很遗憾,也许对 Lumen 5.5 版本框架来说,还是有一些 bug,导致无法使用。通过我的研究,为大家提供一套基于 Lumen 5.5 版本的模块化开发引擎。

安装

首先,您需要安装 Composer,安装完成后,执行以下命令

composer require risentang/lumen-modules

或者在 composer.json 的 require 中添加:

  "require": {
    "risentang/lumen-modules": "^1.0"
  }

运行

composer update

然后在 bootstrap/app.php 下添加

$app->configure('modules');
$app->register(\Risentang\Modules\LumenModulesServiceProvider::class);

在项目根目录中创建 config 文件夹,再将 vendor/risentang/lumen-modules/config/config.php 复制到 config 中,改名为 module.php

自动加载

默认情况下,模块类不会自动加载。您可以使用 psr-4 来自动加载您的模块。例如:由于默认模块类没有加载到框架中,您需要在 autoload 中 psr-4 添加如下配置

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "Modules/"
    }
  }
}

并运行

composer dump-autoload

最后通过 artisan 指令来生成开发模块

php artisan module:make demo

官方文档

想了解更多请访问 https://nwidart.com/laravel-modules/ 查看文档内容。