bug22725.phpt 654 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. Bug #22725 (A derived class can call a parent's protected method that calls a private method)
  3. --FILE--
  4. <?php
  5. class Foo {
  6. private function aPrivateMethod() {
  7. echo "Foo::aPrivateMethod() called.\n";
  8. }
  9. protected function aProtectedMethod() {
  10. echo "Foo::aProtectedMethod() called.\n";
  11. $this->aPrivateMethod();
  12. }
  13. }
  14. class Bar extends Foo {
  15. public function aPublicMethod() {
  16. echo "Bar::aPublicMethod() called.\n";
  17. $this->aProtectedMethod();
  18. }
  19. }
  20. $o = new Bar;
  21. $o->aPublicMethod();
  22. ?>
  23. --EXPECT--
  24. Bar::aPublicMethod() called.
  25. Foo::aProtectedMethod() called.
  26. Foo::aPrivateMethod() called.