2017-01-11 15 views
1

laravel 5.2でカスタムドライバを作成する作業があります。私のコードは以下のとおりです。laravel 5.2のエラーを修正する方法

私auth.phpが

'providers' => [ 
    'users' => [ 
     'driver' => 'bootsgrid', 

    ], 

そして、私のapp.phpが

<?php 
namespace App\Bootsgrid\Authentication; 
use Auth; 
use App\Bootsgrid\Authentication\UserProvider; 
use Illuminate\Support\ServiceProvider; 
class AuthServiceProvider extends ServiceProvider 
{ 
/** 
* Perform post-registration booting of services. 
* 
* @return void 
*/ 
public function boot() 
{ 
    Auth::provider('bootsgrid', function($app, array $config) { 
     return new UserProvider(); 
    }); 
} 
/** 
* Register bindings in the container. 
* 
* @return void 
*/ 
public function register() 
{ 
    // 
} 
} 

そして、私のプロバイダファイルが

以下

 App\Bootsgrid\Authentication\AuthServiceProvider::class, 

私のカスタム・ドライバ・コントローラを持ってい

<?php 
namespace App\Bootsgrid\Authentication; 
use App\Bootsgrid\Authentication\User; 
use Illuminate\Contracts\Auth\UserProvider as IlluminateUserProvider; 



class UserProvider implements IlluminateUserProvider 
{ 

/** 
* @param mixed $identifier 
* @return \Illuminate\Contracts\Auth\Authenticatable|null 
*/ 
public function retrieveById($identifier) 
{ 
      // Get and return a user by their unique identifier 
} 
/** 
* @param mixed $identifier 
* @param string $token 
* @return \Illuminate\Contracts\Auth\Authenticatable|null 
*/ 
public function retrieveByToken($identifier, $token) 
{ 
    // Get and return a user by their unique identifier and "remember me" token 
} 
/** 
* @param \Illuminate\Contracts\Auth\Authenticatable $user 
* @param string $token 
* @return void 
*/ 
public function updateRememberToken(Authenticatable $user, $token) 
{ 

    // Save the given "remember me" token for the given user 
} 
/** 
* Retrieve a user by the given credentials. 
* 
* @param array $credentials 
* @return \Illuminate\Contracts\Auth\Authenticatable|null 
*/ 
public function retrieveByCredentials(array $credentials) 
{ 

    // Get and return a user by looking up the given credentials 
} 
/** 
* Validate a user against the given credentials. 
* 
* @param \Illuminate\Contracts\Auth\Authenticatable $user 
* @param array $credentials 
* @return bool 
*/ 
public function validateCredentials(Authenticatable $user, array $credentials) 
{ 
    // Check that given credentials belong to the given user 
} 
} 

これは、すべて私のコードですが、私は私を助けてit.pleaseを修正する方法を知らないこの

Declaration of App\Bootsgrid\Authentication\UserProvider::updateRememberToken() must be compatible with Illuminate\Contracts\Auth\UserProvider::updateRememberToken(Illuminate\Contracts\Auth\Authenticatable $user, $token) 

の下にエラーが発生しました。

+2

これを名前空間宣言の下に置くことができますか? 'Illuminate \ Contracts \ Auth \ Authenticatable;'を使用してください。これで問題が解決しない場合、私は何が起こっているのか非常に興味があります – Loek

+0

ya固定された.i非常にありがとうと言いたいことは非常にありがたいです – murugesh

+0

私はあなたがそれを受け入れることができるように答えとして追加します:) – Loek

答えて

3

これをネームスペース宣言の下に置きます:use Illuminate\Contracts\Auth\Authenticatable;

+0

ありがとう –

関連する問題