Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obiekt (nie wiem jak to nazwac)
Forum PHP.pl > Forum > PHP > Object-oriented programming
arrtxp
Witam,
zastanawiam się w jaki sposób jest skonstruowana obiket, którą można wykonać w ten sposób:

$obiekt->akcja1()->akcja2();

Jak to się nazywa, i jak to się robi ?
markuz
Tak się to robi:

  1. <?php
  2.  
  3. class Num {
  4.  
  5. private $num = 0;
  6.  
  7. public function add($n) {
  8. $this->num += $n;
  9. return $this;
  10. }
  11.  
  12. public function remove($n) {
  13. $this->num -= $n;
  14. return $this;
  15. }
  16.  
  17. public function getNum() {
  18. return $this->num;
  19. }
  20.  
  21. }
  22.  
  23. $a = new Num();
  24. echo $a->add(5)->remove(10)->add(3)->getNum();
  25.  
  26. ?>


A nazywa się "Method chaining"
Xelah
To o czym mówisz nazywa się "fluent interface".
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.