Takzvané „Fluent Interface“ (česky též „plynulé rozhraní“ nebo „řetězcovité volání“) je způsob spojování metod jednoho či více objektů, který usnadňuje předávání pracovního kontextu objektu. Výhodou je zmenšení a celkové zpřehlednění kódu.

Pokud chcete použít Fluent Interfaces, musí být metoda ukončena zápisem return $this;, čímž vrací instanci aktuálního objektu.

Takový druh zápisu můžete používat s takzvanými settery, což jsou metody, které nastavují atributům instance jejich hodnoty. Takto může vypadat definice metody, která odesílá zprávu:

public function sendMessage(){ 
   $email = new Email(); 
   $email->from(123456789) 
      ->to(123456789) 
      ->message('Nějaký text zprávy') 
      ->send(); 
}

Metody from(), to() a message() nastavují příslušný atribut. Tyto metody jsou navíc zakončeny zápisem return $this;.

Praktické uplatnění tohoto mechanismu můžete vidět v článku NHtml – pomocník PHP programátora.

Pozn. red.: Zdůrazňujeme, že tento text se týká PHP 5.

Žádný příspěvek v diskuzi

Odpovědět