static_variables_traits.phpt 493 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Behavior of static variables in trait methods
  3. --FILE--
  4. <?php
  5. trait T {
  6. public static function counter() {
  7. static $i = 0;
  8. var_dump(++$i);
  9. }
  10. }
  11. class C1 {
  12. use T {
  13. T::counter as counter1;
  14. T::counter as counter2;
  15. }
  16. }
  17. class C2 {
  18. use T;
  19. }
  20. C1::counter();
  21. C1::counter1();
  22. C1::counter2();
  23. C2::counter();
  24. C1::counter();
  25. C1::counter1();
  26. C1::counter2();
  27. C2::counter();
  28. ?>
  29. --EXPECT--
  30. int(1)
  31. int(1)
  32. int(1)
  33. int(1)
  34. int(2)
  35. int(2)
  36. int(2)
  37. int(2)