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';
}
}
012 auth.php上マイSocialAuthController.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
を実行している
アイデア?
おかげで、:
にします:: class''から '' App \ User''に –