private_005b.phpt 603 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. ZE2 A private method cannot be called in a derived class
  3. --SKIPIF--
  4. <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
  5. --FILE--
  6. <?php
  7. class pass {
  8. private function show() {
  9. echo "Call show()\n";
  10. }
  11. public function do_show() {
  12. $this->show();
  13. }
  14. }
  15. class fail extends pass {
  16. function do_show() {
  17. $this->show();
  18. }
  19. }
  20. $t = new pass();
  21. $t->do_show();
  22. $t2 = new fail();
  23. $t2->do_show();
  24. echo "Done\n"; // shouldn't be displayed
  25. ?>
  26. --EXPECTF--
  27. Call show()
  28. Fatal error: Call to private method pass::show() from context 'fail' in %s on line %d