1--TEST-- 2ZE2 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 8class pass { 9 private function show() { 10 echo "Call show()\n"; 11 } 12 13 protected function good() { 14 $this->show(); 15 } 16} 17 18class fail extends pass { 19 public function ok() { 20 $this->good(); 21 } 22 23 public function not_ok() { 24 $this->show(); 25 } 26} 27 28$t = new fail(); 29$t->ok(); 30$t->not_ok(); // calling a private function 31 32echo "Done\n"; // shouldn't be displayed 33?> 34--EXPECTF-- 35Call show() 36 37Fatal error: Uncaught Error: Call to private method pass::show() from context 'fail' in %s:%d 38Stack trace: 39#0 %s(%d): fail->not_ok() 40#1 {main} 41 thrown in %s on line %d 42