我刚刚开始使用Laravel,我正在尝试在我的项目中实现社交名流,以便登录Facebook,然后通过它注册用户。我看过关于Laracasts上的社交名流的教程,但是我有这样的错误:
"FatalErrorException in AuthenticateUser.php第34行:调用非对象上的成员函数驱动程序()“
我不知道为什么会发生这种事,我会感谢你的帮助!
这是我的密码。
AuthController类:
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\AuthenticateUser;
class AuthController extends Controller {
public function login(AuthenticateUser $authenticateUser, Request $request){
return $authenticateUser->execute($request->has('code'));
}// End function
}// End classAuthenticateUser类:
<?php namespace App;
use Illuminate\Contracts\Auth\Authenticator;
use Laravel\Socialite\Contracts\Factory as Socialite;
use App\Data\UserData;
class AuthenticateUser{
private $socialite;
private $auth;
private $users;
/* Constructor */
public function _construct(UserData $users, Socialite $socialite, Authenticator $auth){
$this->users = $users;
$this->socialite = $socialite;
$this->auth = $auth;
}// End constructor
/* @hasCode : boolean
*/
public function execute($hasCode){
if(!$hasCode)
return $this->getAuthorizationFirst();
$user = $this->socialite->driver('facebook')->user();
dd($user);
}
/* Método auxiliar para autorizar el login, si no se tiene el código de autorización */
private function getAuthorizationFirst(){
return $this->socialite->driver('facebook')->redirect(); //line 34
}
}路线:
Route::get('/', function() {
if (Auth::check()) {
return 'Welcome back, ' . Auth::user()->username;
} else {
return 'Hi guest. ' . link_to('login', 'Login with facebook');
}
});
Route::get('login','AuthController@login');发布于 2015-03-18 16:30:55
构造函数的名称不正确。它应该以两个下划线开头:
public function __construct(UserData $users, Socialite $socialite, Authenticator $auth);https://stackoverflow.com/questions/29127447
复制相似问题