language006.phpt 525 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Express requirements of a trait by abstract methods.
  3. --FILE--
  4. <?php
  5. error_reporting(E_ALL);
  6. trait Hello {
  7. public function sayHelloWorld() {
  8. echo 'Hello'.$this->getWorld();
  9. }
  10. abstract public function getWorld();
  11. }
  12. class MyHelloWorld {
  13. private $world;
  14. use Hello;
  15. public function getWorld() {
  16. return $this->world;
  17. }
  18. public function setWorld($val) {
  19. $this->world = $val;
  20. }
  21. }
  22. $o = new MyHelloWorld();
  23. $o->setWorld(' World!');
  24. $o->sayHelloWorld();
  25. ?>
  26. --EXPECT--
  27. Hello World!