2017-01-25 6 views
0

나는 을 (를) 완전히 사용하고 있습니다.Laravel입니다.이 "사용자 지정 공급자 추가"자습서에 따라 Laravel 프로젝트에서 "App Extensions RiakUserProvider"네임 스페이스를 찾을 수없는 이유는 무엇입니까?

나는 Laravel 5.3 응용 프로그램에서 일하고 난 사용자 액세스를 처리하기 위해 사용자 지정 공급자 추가이 공식 튜토리얼에 대한 을 따르도록 노력하고 있으므로 사용자의 자격 증명을 확인하는 사용자 지정 웹 서비스를 사용할 수 있습니다 https://laravel.com/docs/5.3/authentication#adding-custom-user-providers . 그래서, 이론적으로는 매우 단순 해 보이지만, 몇 가지 어려움을 찾고 있습니다.

는 당신이이 앱 \ 공급자를 수정하는 첫 단계로 이전 튜토리얼에서 볼 수 있듯이 \ AuthServiceProvider는 클래스 Laravel 프로젝트에 포함되어 있습니다.

그래서 나는 취득 튜토리얼 예에 따라 내 AuthServiceProvider을 수정 한이 :

:

<?php 

namespace App\Providers; 

use Illuminate\Support\Facades\Gate; 
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; 

use Illuminate\Support\Facades\Auth; 
use App\Extensions\RiakUserProvider; 
use Illuminate\Support\ServiceProvider; 

class AuthServiceProvider extends ServiceProvider 
{ 
    /** 
    * The policy mappings for the application. 
    * 
    * @var array 
    */ 
    protected $policies = [ 
     'App\Model' => 'App\Policies\ModelPolicy', 
    ]; 

    /** 
    * Register any authentication/authorization services. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     $this->registerPolicies(); 

     // CUSTOM CODE: 
     Auth::provider('riak', function ($app, array $config) { 
      // Return an instance of Illuminate\Contracts\Auth\UserProvider... 

      return new RiakUserProvider($app->make('riak.connection')); 
     }); 
    } 
} 

문제는이 앱 \ 확장 공간이를 찾을 수 있다는 것입니다

use App\Extensions\RiakUserProvider; 

PhpStorm 기호 Exstensions 빨간색으로 표시됩니다. "정의되지 않은 확장명 네임 스페이스"이므로 RiakUserProvider 클래스를 제 코드에 사용할 수 없습니다.

왜? Composer에 의존성을 추가해야합니까? 뭐가 잘못 되었 니? 내가 뭘 놓치고 있니? 이 문제를 어떻게 해결할 수 있습니까?

정확히 RiakUserProvider 클래스 란 무엇입니까?

정확히이 코드를 수행 내용 : RiakUserProvider 클래스는 단지 예를 들어 사용자 정의 사용자 제공자 인 Laravel 워드 프로세서에서

Auth::provider('riak', function ($app, array $config) { 
    // Return an instance of Illuminate\Contracts\Auth\UserProvider... 

    return new RiakUserProvider($app->make('riak.connection')); 
}); 

답변

1

합니다. 클래스는 App\Extensions 네임 스페이스에 있지만 실제 공급자 클래스 내용은 제공되지 않았습니다.

사용자 정의 사용자 공급자를 만들려면 폴더를 App 폴더에 만들고 RiakUserProvider 클래스를 포함하는 RiakUserProvider.php 파일을 만들어야합니다. 이것은 PSR-4 클래스 자동 로딩 표준을 따릅니다.

독자적인 사용자 제공 업체를 만들 때는 Illuminate\Contracts\Auth\UserProvider 인터페이스를 구현해야합니다.

https://blog.georgebuckingham.com/laravel-52-auth-custom-user-providers-drivers/

: 여기

하나를 생성하는 단계에 의해 가이드 좋은 단계