четвъртък, юни 04, 2009

PHP method chaining

class Chain{

  var $text;

  function addHello(){
   $this->text .= "Hello ";
   return $this;
  }

  function addWorld(){
   $this->text .= "World!";
   return $this;
  }

  function getText(){
   return $this->text;
  }
}

$obj = new Chain();
$text = $obj->addHello()->addWorld()->getText();
echo $text;
?>
Резултат:


Hello World!


Ей така можете да си chain-вате методи в php. Примера е идиотски, но показва общата идея без излишни глупости :)
Къде може да се използва вие си знаете. Аз писах едни active record нещица. Пести писане и най-малкото така кода ми изглежда по-добре :)