OOP v PHP: Fluent Interfaces

15. února 2006

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.

Štítky: oop-php

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *