laravel中facebook身份验证功能的论据应该是什么?

时间:2016-05-06 12:15:11

标签: php facebook oauth laravel-5

我有Facebook身份验证功能。

public function loginWithFacebook(Request $request){

        // get data from request
        $code = $request->get('code');
        // get fb service
        $fb = \OAuth::consumer('Facebook');

        // check if code is valid

        // if code is provided get user data and sign in
        if ( ! is_null($code))
        {
            // This was a callback request from facebook, get the token
            $token = $fb->requestAccessToken($code);
            // Send a request with it

            $result = json_decode($fb->request('/me?fields=name,email,gender,age_range'), true);
            print_r($result1);

        }
        // if not ask for permission first
        else
        {

            // get fb authorization
            $url = $fb->getAuthorizationUri();
            // return to facebook login url
            return redirect((string)$url);

        }

    }

我想从另一个控制器调用此函数。 所以我这样做:

app('App\Http\Controllers\socialMedia')->loginWithFacebook(Request $request);

但它返回错误 语法错误,意外的'$ request'(T_VARIABLE)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

public function loginWithFacebook(Request $request){

这称为类型提示。该方法的声明方式是它只接受作为Request实例的第一个参数。

app('App\Http\Controllers\socialMedia')->loginWithFacebook(Request $request);

这是一个方法调用,在那些你只是传递参数 - 在这一点上指定一个类型是没有意义的。

所以调用方法的正确方法应该是

app('App\Http\Controllers\socialMedia')->loginWithFacebook($request);