havennow/laravel-module

Laravel 轻量级模块

0.0.1 2023-12-18 19:53 UTC

This package is auto-updated.

Last update: 2024-09-20 15:42:21 UTC


README

Logo

基于已归档包的轻量级包: https://github.com/ferrl/framework

目标是,将您的代码转换为简单模块

要求:PHP >= 7.2.5

设置步骤

  • composer require havennow/laravel-module
  • php artisan vendor:publish --provider="Havennow\LaravelModule\ModuleProvider" --tag=config
  • 在 config/modules.php 配置中查看

配置

  • 在数组中,您可以通过 .env 文件中的 ENV 启用或禁用通用配置: LARAVEL_MODULE_ENABLE,为布尔值
  • 您可以通过指定模块启用特定模块 1 => ['name' => 'XPTO', 'enable' => true ]
  • 数组中的索引需要为整数,以确定加载顺序,以防一个模块在另一个模块之前加载
  • 默认情况下,文件夹为 app/Modules,命名空间为 App\Modules

如何使用

  • 将 ServiceProvider 放入 config/app.php 的 providers 部分 \Havennow\LaravelModule\ModuleServiceProvider::class
  • 在控制台 php artisan laravel-module:make-module Example
  • 在配置中启用 'available' => [ 添加 1 => ['name' => 'example', 'enable' => true ]
  • 在 Modules 路径中查看代码
  • https:///example 中测试示例

可以为模块自定义抽象类,例如,您可以在运行时禁用模块

class Module extends ModuleAbstract 
{

    public function loadBefore()
    {
        $this->setEnable(false);
    }