2017-04-07 11 views
2

私は新しい困惑に苦しんでいますが、それを使って作業しようとしていますが、エラーは何も得られませんでしたが、それを行う方法、そして少しの検索の後にそれができないように見えるようにしたいと言います。発信者から OOP PHPクラス1行からfunction2を呼び出す

public function functionOne($some_var){ 
    some other code to be run; 
} 
public function functionTwo($some_other_var){ 
    some other code to be run after functionOne(), not called here; 
} 

(モデル)::

$tClass = new TestClass(); 
$result = tClass->functionOne()->functionTwo(); 
echo $result; 

このも可能ですクラスで

(おそらく[SP]分離可能に呼び出すことができ、それぞれ)2つの以上の機能がありますPHPから?私はLaravelのようなフレームワークで動作することを知っています.Laravelは私がそれについて学んだ場所です。それは良いだろう...と私はそれを間違っているかどうか尋ねている?それが可能であれば、それは可能ですか、もし私が、Googleがその件に関する非常に小さな情報を持っていたので、私はもっと多くを探すことができます。

+2

'$ this' –

+0

@MarkBakerを返すチェーン内の各メソッドで「流れるようなインターフェイス」と呼ばれています::それはありがとう働いた、私はまたのためにあなたに感謝したいです返信し、私に正しい名前を教えて、それはその後のGoogleの検索に役立った –

答えて

3

これはfluent interfaceと呼ばれ、いつものようにすぐにあなたの方法は、すべてあなたのセッターが流暢にすることをお勧めする必要がありますほとんどの場合

return $this; 

をやっているように動作します。流暢ではない唯一の方法はゲッターであると言う傾向があります。そうでなければ、他のすべての方法は流暢なインターフェースに最適です。

class calculator { 
    private $result = 0; 

    public multiplication($number) { 
     $this->result *= $number; 
     return $this; 
    } 

    public addition() { 
     $this->result += $number; 
     return $this; 
    } 

    /* ... */ 

    public getResult() { 
     return $this->result; 
    } 
} 

使用法:

$calculator = new calculator(); 
echo $calculator->addition(10)->multiplication(2)->getResult(); // 20 
+0

私にそれを見てみましょう感謝: –

+0

それは感謝を働いた - 私はテストし、それは固定電話につながった...あなたの返信をありがとう、私はあなたのリプレイに感謝し、私が何をしようとしているかを参照する正しい方法を教えてください、私はいくつかのグーグルグーグルをして、トピックを読む:) –

関連する問題