有没有办法在Laravel中创建子模块?

时间:2016-10-27 16:47:40

标签: php laravel module

我正在使用laravel开发一个网站,我正在使用模块,但我想知道我是否可以使这些模块具有子模块

之类的东西
laravel-app/
    app/
    bootstrap/
    vendor/
    modules/
      ├── Admin/
          ├── Assets/
          ├── Config/
          ├── Console/
          ├── Database/
              ├── Migrations/
              ├── Seeders/
         ├── Entities/
         ├── Http/
              ├── Controllers/
              ├── Middleware/
              ├── Requests/
              ├── routes.php
         ├── Providers/
             ├── BlogServiceProvider.php
         ├── Resources/
             ├── lang/
             ├── views/
         ├── Repositories/
         ├── Tests/
         ├── composer.json
         ├── module.json
         ├── start.php
         |──modules
            |──AdminConfig
               ├── Assets/
               ├── Config/
               ├── Console/
               ├── Database/
                 ├── Migrations/
               ├── Seeders/
               ├── Entities/
               ├── Http/
                 ├── Controllers/
                 ├── Middleware/
                 ├── Requests/
               ├── routes.php
               ├── Providers/
                 ├── BlogServiceProvider.php
               ├── Resources/
                 ├── lang/
                 ├── views/
              ├── Repositories/
              ├── Tests/
              ├── composer.json
              ├── module.json
              ├── start.php

我已经通过更改config / module.php中的文件来实现这一点,但它不能与php artisan serve一起运行

1 个答案:

答案 0 :(得分:0)

Laravel的文档提供了有关directory structure的一些信息。

  

您的大多数应用程序都位于app目录中。默认情况下,此目录在App下命名,并由Composer使用PSR-4自动加载标准自动加载。

换句话说,只要您按照PSR-4,就可以按照自己的方式构建应用。因此,我会使用正确的PSR-4命名空间在app目录中创建模块。

示例:

namespace App\Module1\Services;
namespace App\Module2\Services;
namespace App\Services; //For common services

然而,在我的应用中,我更喜欢制作"模块"在现有目录中。

示例:

namespace App\Services\Module1;
namespace App\Services\Module2;
namespace App\Services; //For common services