2017-04-05 2 views
0

오늘 Laravel 5.4 프로젝트를 시작하여 ServiceProvider 문제가 발생했습니다. 여기 내 서비스 제공 업체 :Laravel - 서비스 공급자 : 클래스를 찾을 수 없습니다.

<?php 

namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 

class WizamProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap the application services. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     //die('YESSS'); 
    } 

    /** 
    * Register the application services. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     $this->app->bind('Wizam\Test', function() 
     { 
     if(class_exists("Domains\Domomat\Test")) 
      return new \Domains\Domomat\Test; 
     else 
      return new \Core\Classes\Test; 
     }); 
    } 
} 

내가 (App\Providers\WizamProvider::class) 설정/app.php에이 공급자를 추가는 20 배, 캐시 삭제, 명확한 설정처럼 내 오토로더를 덤프. 아무 일도하지. 여기

내 경로 :

Route::get('/sub', function() 
{ 
    $test = new \Wizam\Test(); 
    echo $test->render(); 
}); 

내가 '/ 하위'에 갈

, 나는 Class 'Wizam\Test' not found을 얻었다. 나는 내 잘못을 볼 수 없다. 나를 도와 줄 수 있니?

감사합니다.

+0

'composer.json'에서 클래스에 대한 자동 로딩을 설정 했습니까? 또한 컨테이너 호출을 사용하려면 다음과 같이 대신 호출하십시오 :'app (\ Wizam \ Test :: class)' –

+0

기존 클래스의 경우 예! 기술적으로 존재하지 않기 때문에 나는 \ Wizam을 위해 그것을하지 않았다. – Treast

+0

감사합니다! 'app (\ Wizam \ Test :: class)'는 잘 작동한다 !!! – Treast

답변

0

새 명령을 사용하여 인스턴스화 할 수있는 용기를 사용하려면 생성자

__constructor(\Wizam\Test $test) 
{ 
} 

또는 응용 프로그램을 사용을 통해 주입 할 수 있습니다 (\ Wizam \ 테스트 :: 클래스) 저는 믿습니다 다른 방법입니다 의견에 언급 된대로 그것을 할 수 있습니다.

관련 문제