access_modifiers_010.phpt 545 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Testing visibility of methods
  3. --FILE--
  4. <?php
  5. class d {
  6. private function test2() {
  7. print "Bar\n";
  8. }
  9. }
  10. abstract class a extends d {
  11. public function test() {
  12. $this->test2();
  13. }
  14. }
  15. abstract class b extends a {
  16. }
  17. class c extends b {
  18. public function __construct() {
  19. $this->test();
  20. }
  21. }
  22. new c;
  23. ?>
  24. --EXPECTF--
  25. Fatal error: Uncaught Error: Call to private method d::test2() from scope a in %s:%d
  26. Stack trace:
  27. #0 %s(%d): a->test()
  28. #1 %s(%d): c->__construct()
  29. #2 {main}
  30. thrown in %s on line %d