在laravel 5.1中使用乒乓包创建子模块文件夹



我正在使用乒乓球包在laravel 5.1中开发模块化项目。这给了我如下的项目结构

laravel-app/
    app/
    bootstrap/
    vendor/
    modules/
      ├── Blog/
          ├── 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

我想在"admin"one_answers"client"中分离这个模块文件夹,以区分我的客户端和管理端,如下所示,

laravel-app/
    app/
    bootstrap/
    vendor/
    modules/
      ├── Admin/
          ├── Blog/
              ├── 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
      ├── Client/
          ├── Blog/
              ├── 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

请帮我解决这个问题谢谢。

UPDATE:

你可以通过调整config/modules.php文件来实现你想要的,但是当你在AdminClient之间切换时,你必须来回切换它。

例如:

要在项目的Admin部分中生成(module:make)或使用(module:use)模块,您需要执行以下操作:

config/modules.php文件中,将namespace调整为

/*
|--------------------------------------------------------------------------
| Module Namespace
|--------------------------------------------------------------------------
|
| Default module namespace.
|
*/
'namespace' => 'ModulesAdmin',
在同一个文件中,将base_path调整为
/*
|--------------------------------------------------------------------------
| Modules path
|--------------------------------------------------------------------------
|
| This path used for save the generated module. This path also will added
| automatically to list of scanned folders.
|
*/
'modules' => base_path('modules/admin'),

这就是你需要做的,调用php artisan module:make blog将在modules/admin中创建一个Blog模块。

如果您需要在项目的AdminClient部分之间切换,则需要在config/modules.php文件中调整相同的两行以反映这样的情况。

还有一个警告:

如果你计划在模块中使用Assets文件夹,你还需要调整config/modules.php文件中的相应行,并且你需要手动调整几个方法,在模块的服务提供商(例如:Admin/Blog/Providers/BlogServiceProvider.php)中明确地编写文件路径,并且你需要修复你的config/view.php -只需遵循注释。

注:您可以创建一个自定义命令来自动在AdminClient之间切换。

相关内容

  • 没有找到相关文章

最新更新