2016-08-07 26 views
1

私の質問は、私が使っているFacebookコールバック関数です。コールバック関数は、引数facebookCallBack(LaravelFacebookSdk $fb)インスタンスを引数として持つphp関数を呼び出す

機能は、私がlarvelの私の認証コントローラでこれを使用している、素晴らしい作品が、今私は$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); 
} 

をしかし、引数がインスタンスとして渡されませんか?あなたはそれを渡す変数の型を定義する必要はありません

答えて

1

メソッドの定義:。別の方法内

public function facebookReusableCallBack(LaravelFacebookSdk $fb) { 
     //some code 
} 

実行:

function myMethod() { 
    $var = new LaravelFacebookSdk(); 
    $this->facebookReusableCallBack($var); 
} 

何あなたの関数定義(良い)で変数の型を強制的に定義することです。しかし、これらは定義にのみ必要です。あなたの明示例えば

ので:facebookCallBackを呼び出すときに$ fbはLaravelFacebookSdkのインスタンスでなければなりません

public function facebookCallBack(LaravelFacebookSdk $fb) { 
    $this->facebookReusableCallBack($fb); 
} 

ので、それはfacebookReusableCallBackの罰金となります。

関連する問題