1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: yuyi
  5. * Date: 2018/4/27
  6. * Time: 16:21
  7. */
  8. /**
  9. * Class Base
  10. */
  11. class Base {
  12. public function getData() {
  13. return [1,2];
  14. }
  15. }
  16. /**
  17. * Class Filter1
  18. * @property Base
  19. */
  20. class Filter1 {
  21. private $next;
  22. public function __construct($next)
  23. {
  24. $this->next = $next;
  25. }
  26. /**
  27. * @return mixed
  28. */
  29. public function getData() {
  30. $data = $this->next->getData();
  31. //todo
  32. array_unshift($data, 99);
  33. return $data;
  34. }
  35. }
  36. class Filter2 {
  37. private $next;
  38. public function __construct($next)
  39. {
  40. $this->next = $next;
  41. }
  42. public function getData() {
  43. $data = $this->next->getData();
  44. //todo
  45. $data[] = 5;
  46. return $data;
  47. }
  48. }
  49. $b = new Base();
  50. $b = new Filter2($b);
  51. $b = new Filter1($b);
  52. print_r($b->getData());

分类: web

标签:   php