首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FatalErrorException Laravel 5社交名流Facebook登录

FatalErrorException Laravel 5社交名流Facebook登录
EN

Stack Overflow用户
提问于 2015-03-18 16:27:05
回答 1查看 487关注 0票数 0

我刚刚开始使用Laravel,我正在尝试在我的项目中实现社交名流,以便登录Facebook,然后通过它注册用户。我看过关于Laracasts上的社交名流的教程,但是我有这样的错误:

"FatalErrorException in AuthenticateUser.php第34行:调用非对象上的成员函数驱动程序()“

我不知道为什么会发生这种事,我会感谢你的帮助!

这是我的密码。

AuthController类:

代码语言:javascript
复制
<?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 class

AuthenticateUser类:

代码语言:javascript
复制
<?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
  }
}

路线:

代码语言:javascript
复制
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');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-18 16:30:55

构造函数的名称不正确。它应该以两个下划线开头:

代码语言:javascript
复制
public function __construct(UserData $users, Socialite $socialite, Authenticator $auth);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29127447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档