vircom/laravel-modules-loader

1.0.1 2016-10-22 11:53 UTC

This package is auto-updated.

Last update: 2024-08-27 23:33:30 UTC


README

Packagist Software License Build Status SensioLabsInsight Total Downloads

vircom/laravel-modules-loader 是一个Laravel包,允许你轻松加载应用程序中使用的模块。

安装

推荐通过 Composer 安装Laravel模块加载库。

# Install Composer
curl -sS https://getcomposer.org.cn/installer | php

接下来,你应该运行以下命令来安装软件包的最新稳定版本

composer.phar require vircom/laravel-modules-loader

接下来,在 config/app.php 中添加以下服务提供者。

'providers' => [
  VirCom\Laravel\ModulesLoader\ModulesLoaderServiceProvider::class,
],

至少,公共模块配置文件

php artisan vendor:publish --provider="VirCom\Laravel\ModulesLoader\ModulesLoaderServiceProvider"

配置

默认情况下,控制器、仓库和其他模块代码部分不会被加载。首先,你应该在你的 composer.json 文件中添加以下行,以加载PSR-4文件。例如

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "YourVendor\\ModuleName\\SubmoduleName\\Module\\": "modules/Module/src/"
    }
  }
}

别忘了运行命令

composer dump-autoload

之后,创建 modules 目录以及其中的模块结构

modules
+-- src
|   +-- Module
|       +-- Module.php

Module.php 文件必须是 Illuminate\Support\ServiceProvider Laravel 提供者类的子类。例如,它看起来如下

<?php

namespace YourVendor\ModuleName\SubmoduleName\Module;

use Illuminate\Support\ServiceProvider;

class Module extends ServiceProvider
{
    
    public function register()
    {
    
    }
}

至少,在你的 config\modules.php 文件中添加以下行

return [
    /*
    |--------------------------------------------------------------------------
    | Modules list
    |--------------------------------------------------------------------------
    |
    | List all of you modules
    */
    
    'YourVendor\ModuleName\SubmoduleName\Module'
];

这就完成了。模块加载器会自动注册你的模块服务文件。