2017-10-10 73 views
2

我正在使用名爲mnabialek/laravel-modular的github項目。該包工作正常,但我不能將請求傳遞給不同模塊中的不同控制器。我怎樣才能做到這一點。Laravel Modular請求不同的控制器

TestModule控制器

<?php 

namespace App\Modules\TestModule\Http\Controllers; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use Illuminate\Http\Response; 
use App\Modules\TestModule\Http\Requests\TestModuleRequest; 
use App\Modules\Admin\Http\Requests\AdminRequest; 
use App\Modules\TestModule\Repositories\TestModuleRepository; 
use App\Modules\TestModule\Services\TestModuleService; 

class TestModuleController extends Controller 
{ 
    /** 
    * @var TestModuleRepository 
    */ 
    protected $repo; 

    /** 
    * @var TestModuleService 
    */ 
    protected $service; 

    /** 
    * TestModuleController constructor. 
    * 
    * @param TestModuleRepository $repo 
    * @param TestModuleService $service 
    */ 
    public function __construct(TestModuleRepository $repo, TestModuleService $service) 
    { 
     $this->repo = $repo; 
     $this->service = $service; 
    } 

    /** 
    * Display a listing of the resource. 
    * 
    * @return Response 
    */ 
    public function index() 
    { 
     // 
     //echo "Here you are"; 
     //$data["data"] = "Here you are"; 

     //return view("welcome")->with($data); 
     $working = "Its Working"; 
     $message = App::make("App\\Modules\\Admin\\Http\\Controllers\\AdminController")->create($working); 

    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return Response 
    */ 

} 

AdminController.php

<?php 

namespace App\Modules\Admin\Http\Controllers; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 
use Illuminate\Http\Response; 
use App\Modules\Admin\Http\Requests\AdminRequest; 
use App\Modules\Admin\Repositories\AdminRepository; 
use App\Modules\Admin\Services\AdminService; 

class AdminController extends Controller 
{ 
    /** 
    * @var AdminRepository 
    */ 
    protected $repo; 

    /** 
    * @var AdminService 
    */ 
    protected $service; 

    /** 
    * AdminController constructor. 
    * 
    * @param AdminRepository $repo 
    * @param AdminService $service 
    */ 
    public function __construct(AdminRepository $repo, AdminService $service) 
    { 
     $this->repo = $repo; 
     $this->service = $service; 
    } 

    /** 
    * Display a listing of the resource. 
    * 
    * @return Response 
    */ 
    public function index() 
    { 
     // 
    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return Response 
    */ 
    public function create($working) 
    { 

     die(print_r($working)); 
     // 
    } 


} 

這裏是我得到的錯誤。

級 '應用程序\模塊\ TestModule \ HTTP \控制器\應用' 未找到

+0

定義類「App」在哪裏? – mega6382

+0

檢查App類是否存在 –

+1

嘗試手動導入'使用Illuminate \ Support \ Facades \ App;' – aaron0207

回答

1

嘗試以下操作:

$message = Illuminate\Support\Facades\App::make("App\\Modules\\Admin\\Http\\Controllers\\AdminController")->create($working); 

由於AppIoC依賴它不存在當前命名空間,你必須從它存在的地方調用它。