2017-10-10 15 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)); 
     // 
    } 


} 

ここで私が取得していますエラーです。

クラス 'のApp \モジュール\ TestModule \のHttpのApp \コントローラ\'

+0

「App」クラスはどこに定義されていますか? – mega6382

+0

Appクラスが存在するかどうか確認する –

+1

手動で 'Illuminate \ Support \ Facades \ App;を使用してみてください ' – aaron0207

答えて

1

が見つかりません試してみてください。Appとして

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

は、それが存在しないIoC依存関係です現在の名前空間は、存在する場所から呼び出す必要があります。

関連する問題