semi_reserved_007.phpt 674 B

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. Edge case: self::self, self::parent, parent::self semi reserved constants access
  3. --FILE--
  4. <?php
  5. class Foo {
  6. const self = "self";
  7. const parent = "parent";
  8. public function __construct() {
  9. echo "From ", __METHOD__, ":", PHP_EOL;
  10. echo self::self, PHP_EOL;
  11. echo self::parent, PHP_EOL;
  12. }
  13. }
  14. class Bar extends Foo {
  15. public function __construct() {
  16. parent::__construct();
  17. echo "From ", __METHOD__, ":", PHP_EOL;
  18. echo parent::self, PHP_EOL;
  19. echo parent::parent, PHP_EOL;
  20. }
  21. }
  22. new Bar;
  23. echo "\nDone\n";
  24. ?>
  25. --EXPECT--
  26. From Foo::__construct:
  27. self
  28. parent
  29. From Bar::__construct:
  30. self
  31. parent
  32. Done