bug61998.phpt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. --TEST--
  2. Bug #61998 (Using traits with method aliases appears to result in crash during execution)
  3. --FILE--
  4. <?php
  5. class Foo {
  6. use T1 {
  7. func as newFunc;
  8. }
  9. public function func() {
  10. echo "From Foo\n";
  11. }
  12. }
  13. trait T1 {
  14. public function func() {
  15. echo "From T1\n";
  16. }
  17. }
  18. class Bar {
  19. public function func() {
  20. echo "From Bar\n";
  21. }
  22. public function func2() {
  23. echo "From Bar\n";
  24. }
  25. public function func3() {
  26. echo "From Bar\n";
  27. }
  28. use T1 {
  29. func as newFunc;
  30. func as func2;
  31. }
  32. use T2 {
  33. func2 as newFunc2;
  34. func2 as newFunc3;
  35. func2 as func3;
  36. }
  37. }
  38. trait T2 {
  39. public function func2() {
  40. echo "From T2\n";
  41. }
  42. }
  43. $f = new Foo();
  44. $f->newFunc(); //from T1
  45. $f->func(); //from Foo
  46. $b = new Bar();
  47. $b->newFunc(); //from T1
  48. $b->func(); //from Bar
  49. $b->func2(); //from Bar
  50. $b->newFunc2(); //from T2
  51. $b->newFunc3(); //from T2
  52. $b->func3(); //from Bar
  53. --EXPECT--
  54. From T1
  55. From Foo
  56. From T1
  57. From Bar
  58. From Bar
  59. From T2
  60. From T2
  61. From Bar