Return to private_003b.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / classes |
1.1 ! misho 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: ! 8: class pass { ! 9: private function show() { ! 10: echo "Call show()\n"; ! 11: } ! 12: ! 13: protected function good() { ! 14: $this->show(); ! 15: } ! 16: } ! 17: ! 18: class 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: ! 32: echo "Done\n"; // shouldn't be displayed ! 33: ?> ! 34: --EXPECTF-- ! 35: Call show() ! 36: ! 37: Fatal error: Call to private method pass::show() from context 'fail' in %s on line %d