目标类 [App/Http/Controllers/Auth/LoginController] 不存在 [英] Target class [App/Http/Controllers/Auth/LoginController] does not exist

查看:52
本文介绍了目标类 [App/Http/Controllers/Auth/LoginController] 不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 Facebook Api.我的 web.php 文件:

I want to use Facebook Api. my web.php file:

?php

use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\MembersController;
use Laravel\Socialite\Facades\Socialite;
use App\Http\Controllers\Auth\LoginController; 

Route::get('login/facebook', 'App/Http/Controllers/Auth/LoginController@redirectToProvider');
Route::get('login/facebook/callback', 
'App/Http/Controllers/Auth/LoginController@handleProviderCallBack');

我的 LoginController 位于 App\Http\Controllers\Auth

my LoginController which is in in App\Http\Controllers\Auth

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Laravel\Socialite\Facades\Socialite;
use Illuminate\Support\Facades\Route;

class LoginController extends Controller
{
use AuthenticatesUsers;


protected $redirectTo = RouteServiceProvider::HOME;

public function __construct()
{
    $this->middleware('guest')->except('logout');
}

public function redirectToProvider() 
{
    return  Socialite::driver('facebook')->redirect();
}

public function handleProviderCallBack()
{
    $user = Socialite::driver('facebook')->user();
}

}

在浏览器中我得到错误目标类 [App/Http/Controllers/Auth/LoginController] 不存在.

in browser i got error Target class [App/Http/Controllers/Auth/LoginController] does not exist.

谁能帮帮我?谢谢!

推荐答案

您在路由控制器命名空间中使用正斜杠/而不是反斜杠:

You use a forward / instead of a backslash in your route controller namespace:

Route::get('login/facebook/callback', 
'App\Http\Controllers\Auth\LoginController@handleProviderCallBack');

更改两条路由的斜杠并使用 php artisan route:cache

change the slashes for both routes and clear the cache using php artisan route:cache

如果您使用的是 Laravel 8 Tim 的注释是正确的语法:

If you are using Laravel 8 Tim's comment is the right syntax:

use App\Http\Controllers\Auth\LoginController;  
Route::get('login/facebook', [LoginController::class,'redirectToProvider']);

这篇关于目标类 [App/Http/Controllers/Auth/LoginController] 不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆