[file] <?php error_reporting(0); class pass { private function show() { echo "Call show()\n"; } protected function good() { $this->show(); } } class fail extends pass { public function ok() { $this->good(); } public function not_ok() { $this->show(); } } $t = new fail(); $t->ok(); $t->not_ok(); // calling a private function echo "Done\n"; // shouldn't be displayed
[expect ct-error] [file] <?php error_reporting(0); class pass { private static function show() { echo "Call show()\n"; } protected static function good() { pass::show(); } } class fail extends pass { static function ok() { pass::good(); } static function not_ok() { pass::show(); } } fail::ok(); fail::not_ok(); // calling a private function echo "Done\n"; // shouldn't be displayed