language005.phpt 557 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Use instead to solve a conflict and as to access the method.
  3. --FILE--
  4. <?php
  5. error_reporting(E_ALL);
  6. trait A {
  7. public function smallTalk() {
  8. echo 'a';
  9. }
  10. public function bigTalk() {
  11. echo 'A';
  12. }
  13. }
  14. trait B {
  15. public function smallTalk() {
  16. echo 'b';
  17. }
  18. public function bigTalk() {
  19. echo 'B';
  20. }
  21. }
  22. class Talker {
  23. use A, B {
  24. B::smallTalk insteadof A;
  25. A::bigTalk insteadof B;
  26. B::bigTalk as talk;
  27. }
  28. }
  29. $t = new Talker;
  30. $t->smallTalk();
  31. $t->bigTalk();
  32. $t->talk();
  33. ?>
  34. --EXPECT--
  35. bAB