好的,我的问题是,我有一个我正在使用的Facebook回拨功能。回调函数使用实例作为参数facebookCallBack(LaravelFacebookSdk $fb)
这个功能很棒,我在我的auth控制器中使用它,但是现在我想在同一个控制器中重用这个函数,比如$this>facebookReusableCallBack(LaravelFacebookSdk $fb)
我遇到了问题,我收到此错误facebookReusableCallBack()
必须是SammyK\LaravelFacebookSdk\LaravelFacebookSdk
的实例,没有给出。
这是我的代码示例:
public function facebookCallBack(LaravelFacebookSdk $fb) {
$this->facebookReusableCallBack();
}
public function facebookReusableCallBack() {
//All my code here
}
如何在我的控制器中重用此功能?
我试过了:
public function facebookCallBack(LaravelFacebookSdk $fb) {
$this->facebookReusableCallBack(LaravelFacebookSdk $fb);
}
但参数不作为实例传递?
答案 0 :(得分:1)
传递变量时,不需要定义变量的类型。
方法定义:
public function facebookReusableCallBack(LaravelFacebookSdk $fb) {
//some code
}
在另一种方法中执行:
function myMethod() {
$var = new LaravelFacebookSdk();
$this->facebookReusableCallBack($var);
}
您所做的是在函数定义中定义变量的类型(好)以强制类型。但是这些仅在定义中需要。
所以对于你的明确例子:
public function facebookCallBack(LaravelFacebookSdk $fb) {
$this->facebookReusableCallBack($fb);
}
因为$ fb在调用facebookCallBack时必须是LaravelFacebookSdk的一个实例,所以对于facebookReusableCallBack来说没问题。