trait_constant_001.phpt 491 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. __TRAIT__: Basics, a constant denoting the trait of definition.
  3. --FILE--
  4. <?php
  5. trait TestTrait {
  6. public static function test() {
  7. return __TRAIT__;
  8. }
  9. }
  10. class Direct {
  11. use TestTrait;
  12. }
  13. class IndirectInheritance extends Direct {
  14. }
  15. trait TestTraitIndirect {
  16. use TestTrait;
  17. }
  18. class Indirect {
  19. use TestTraitIndirect;
  20. }
  21. echo Direct::test()."\n";
  22. echo IndirectInheritance::test()."\n";
  23. echo Indirect::test()."\n";
  24. ?>
  25. --EXPECT--
  26. TestTrait
  27. TestTrait
  28. TestTrait