我有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)
我该如何解决这个问题?
答案 0 :(得分:0)
public function loginWithFacebook(Request $request){
这称为类型提示。该方法的声明方式是它只接受作为Request
实例的第一个参数。
app('App\Http\Controllers\socialMedia')->loginWithFacebook(Request $request);
这是一个方法调用,在那些你只是传递参数 - 在这一点上指定一个类型是没有意义的。
所以调用方法的正确方法应该是
app('App\Http\Controllers\socialMedia')->loginWithFacebook($request);