【问题标题】:what should be the argument in facebook authentication function in laravel?laravel 的 facebook 身份验证功能中的参数应该是什么?
【发布时间】:2016-05-09 19:51:18
【问题描述】:

我有一个 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)

我该如何解决这个问题?

【问题讨论】:

    标签: php facebook oauth laravel-5


    【解决方案1】:
    public function loginWithFacebook(Request $request){
    

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

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

    那是一个方法调用,而在那些你只是传递参数——此时指定一个类型是没有意义的。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-30
      • 2017-12-16
      • 2017-04-23
      • 2021-03-18
      • 2020-06-02
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多