3

私は、演算子の構文に頭を悩ませることに夢中です。オブジェクト演算子と呼ばれていることを理解しており、それがどのように使用されているかを確認できます ( PHP でオブジェクト演算子 "->" を使用する場所はどこですか? )。

このスニペットのようにそれらがつなぎ合わされたときの目的を理解しようとしています (例: "switch($this->request->param('id')):

Kohana を使用しているサイトのコード スニペットを次に示します。

public function action_list()
{
    $connections = ORM::factory('Connection')
        ->with('property')
        ->with('inviter');
    switch ($this->request->param('id')) {
    // more code...
        }
    }
4

2 に答える 2

4

これを「メソッドチェーン」と呼びます。複数のメソッドを適用できるため、1 回の呼び出しで複数のことを実行できます。これは、入れ子関数に相当する OOP のようなものです。

于 2013-03-03T17:43:52.727 に答える
0

これは、連鎖と呼ばれることがよくあります。メソッドがオブジェクトを返す場合、その返されたオブジェクトに対して別のメソッドを呼び出すことができます。次のようなことを考えてみましょう:

class A {
    public $numbers = 0;
    public function addNumber($num) {
        $this->numbers += $num;
        return $this;
    }

}

$a = new A();
$a->addNumber(1)->addNumber(2);

addNumberはそれ自体のインスタンスを返すため、addNumber を繰り返し呼び出すことができます。

メソッドが別のオブジェクトのインスタンスを返すことはよくありますが、同じ原則が適用されます。

于 2013-03-03T17:45:59.260 に答える