2017-04-11 3 views
2

特定のエラーが見つかりません。Laravelバージョン5.4クラス「アプリケーションユーザー::クラスは」

"Models"ディレクトリを作成しようとしましたので、そこにすべてのモデルを置くことができます。それを行う前に、それはうまく動作していたので、設定を元の場所に戻そうとしましたが、今は動作しません。

マイUser.php

<?php 

namespace App; 
namespace Illuminate\Foundation\Auth; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Auth\Authenticatable; 
use Illuminate\Auth\Passwords\CanResetPassword; 
use Illuminate\Foundation\Auth\Access\Authorizable; 
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; 
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; 
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; 
use Illuminate\Notifications\Notifiable; 

class User extends Model implements 
    AuthenticatableContract, 
    AuthorizableContract, 
    CanResetPasswordContract 
{ 
    use Authenticatable, Authorizable, CanResetPassword; 

    use Notifiable; 

    /** 
    * The attributes that are mass assignable. 
    * 
    * @var array 
    */ 
    protected $fillable = [ 
     'name', 'email', 'facebook_id', 
    ]; 

    /** 
    * The attributes that should be hidden for arrays. 
    * 
    * @var array 
    */ 
    protected $hidden = [ 
     'remember_token', 
    ]; 


} 

マイUserController.php

<?php 

namespace App\Http\Controllers; 

use App\User; 

use Illuminate\Http\Request; 

class UserController extends Controller 
{ 
    public function index(){ 
     echo 'index'; 
    } 
    public function create(){ 
     echo 'create'; 
    } 
    public function store(Request $request){ 
     echo 'store'; 
    } 
    public function show(){ 
    } 
    public function edit($id){ 
     echo 'edit'; 
    } 
    public function update(Request $request, $id){ 
     echo 'update'; 
    } 
    public function destroy($id){ 
     echo 'destroy'; 
    } 

} 

マイSocialAuthController.php

012 auth.php上
<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\User; 
use Illuminate\Support\Facades\Auth; 
use Laravel\Socialite\Facades\Socialite; 

class SocialAuthController extends Controller 
{ 
    public function redirect() 
    { 
     return Socialite::driver('facebook')->with(['auth_type' => 'rerequest'])->redirect(); 
    } 

    public function callback() 
    { 
     try { 
      $user = Socialite::driver('facebook')->user(); 
     } catch (Exception $e) { 
      return redirect('auth/facebook'); 
     } 

     if($user->email == null) 
      return Socialite::driver('facebook')->with(['auth_type' => 'rerequest'])->redirect(); 

     $authUser = $this->findOrCreateUser($user); 

     Auth::login($authUser, true); 

     return redirect()->route('login'); 
    } 

    private function findOrCreateUser($facebookUser) 
    { 

     $authUser = User::where('facebook_id', $facebookUser->id)->first(); 

     if ($authUser){ 
      return $authUser; 
     } 

     return User::create([ 
      'name' => $facebookUser->name, 
      'email' => $facebookUser->email, 
      'facebook_id' => $facebookUser->id, 
     ]); 
    } 

} 

設定

'providers' => [ 
     'users' => [ 
      'driver' => 'eloquent', 
      'model' => 'App\User::class', 
     ], 

composer.json

"autoload": { 
     "classmap": [ 
      "database" 
     ], 
     "psr-4": { 
      "App\\": "app/" 
     } 
    }, 

の設定は、私は別のものを試してみました - 等もphp artisan config:clearを実行している

アイデア?

答えて

4

あなたはUser.phpに2つの名前空間を持っているので、この変更:それは ` 'のApp \ユーザーからauth.php``に変更し動作させるためにも

use Illuminate\Foundation\Auth; 
+0

おかげで、:

namespace Illuminate\Foundation\Auth; 

にします:: class''から '' App \ User''に –