language007.phpt 437 B

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. Traits can fulfill the requirements of abstract base classes.
  3. --FILE--
  4. <?php
  5. error_reporting(E_ALL);
  6. abstract class Base {
  7. abstract function sayWorld();
  8. }
  9. trait Hello {
  10. public function sayHello() {
  11. echo 'Hello';
  12. }
  13. public function sayWorld() {
  14. echo ' World!';
  15. }
  16. }
  17. class MyHelloWorld extends Base {
  18. use Hello;
  19. }
  20. $o = new MyHelloWorld();
  21. $o->sayHello();
  22. $o->sayWorld();
  23. ?>
  24. --EXPECT--
  25. Hello World!