Warum return $this in / Set-Methoden?

Untersuchen, Zend Framework, fand ich, dass alle setter-Methoden (von denen, die ich geprüft habe) zurückgeben der Instanz der Klasse, in der es lebt. Es hat nicht nur einen Wert, sondern gibt auch $this. Zum Beispiel:

  /*   Zend_Controller_Router   */
public function setGlobalParam($name, $value) {
    $this->_globalParams[$name] = $value;
    return $this;
}

  /*    Zend_Controller_Request    */
public function setBaseUrl($baseUrl = null) {
    //... some code here ...
    $this->_baseUrl = rtrim($baseUrl, '/');
    return $this;
}

  /*    Zend_Controller_Action    */
public function setFrontController(Zend_Controller_Front $front) {
    $this->_frontController = $front;
    return $this;
}

Und so weiter. Jede öffentliche setter zurück $this. Und es ist nicht nur für setter, es gibt auch andere Methoden für die Aktionen, die Rückkehr $this:

public function addConfig(Zend_Config $config, $section = null) {
    //... some code here ...
    return $this;
}

Warum ist dies nötig? Was bedeutet die Rückkehr $this tun? Es haben einige eine Besondere Bedeutung?

  • Rückkehr $(this) heißt, Sie können-chain-Methoden, wie zB $myClass->method_1($x)->method_2($y).
  • Ich bemerkte dies in der Vergangenheit als gut und hätte nie gedacht, die Frage zu stellen. Vielen Dank, ich habe jetzt die Antwort.
InformationsquelleAutor Green | 2012-06-17
Schreibe einen Kommentar