我有一个用于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('AppHttpControllerssocialMedia')->loginWithFacebook(Request $request);
但它返回错误语法错误,意外的'$request'(T_VARIABLE)
我该如何解决此问题?
public function loginWithFacebook(Request $request){
这被称为类型暗示。该方法的声明方式是,它只接受作为Request
实例的第一个参数。
app('AppHttpControllerssocialMedia')->loginWithFacebook(Request $request);
这是一个调用的方法,在这些方法中,您只需传递参数——此时指定类型是没有意义的。
因此,调用该方法的正确方法应该是
app('AppHttpControllerssocialMedia')->loginWithFacebook($request);