fork download
  1. <?php
  2. ////
  3. // Цепочка вызовов
  4.  
  5. class MethodsChain {
  6.  
  7. function __construct($words) {
  8. $this->var = $words;
  9. }
  10.  
  11. function to_upper_case() {
  12. $this->var = strtoupper($this->var);
  13. return $this;
  14. // Чтобы это сработало, нужно вернуть объект.
  15. }
  16.  
  17. function to_lower_case() {
  18. $this->var = strtolower($this->var);
  19. return $this;
  20. }
  21.  
  22. }
  23.  
  24. $check = new MethodsChain('Wanna see you in lower');
  25.  
  26. print "Традиционный для PHP стиль\n";
  27. print "В верхний регистр\n";
  28. $check->to_upper_case();
  29. var_dump($check->var);
  30.  
  31. print "\nВ нижний регистр\n";
  32. $check->to_lower_case();
  33. var_dump($check->var);
  34.  
  35. print "\nЦепочка методов\n";
  36. $check->to_upper_case()->to_lower_case();
  37. // у объекта который вернется после $check->to_upper_case() должен
  38. // быть метод to_lower_case()
  39. var_dump($check->var);
  40.  
Success #stdin #stdout 0.02s 24448KB
stdin
Standard input is empty
stdout
Традиционный для PHP стиль
В верхний регистр
string(22) "WANNA SEE YOU IN LOWER"

В нижний регистр
string(22) "wanna see you in lower"

Цепочка методов
string(22) "wanna see you in lower"