在laravel的facebook认证功能中应该有什么争论


what should be the argument in facebook authentication function in laravel?

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

我该如何解决此问题?

public function loginWithFacebook(Request $request){

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

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

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

因此,调用该方法的正确方法应该是

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