1--TEST-- 2ZE2 A protected method can only be called inside the 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 protected function fail() { 10 echo "Call fail()\n"; 11 } 12 13 public function good() { 14 $this->fail(); 15 } 16} 17 18$t = new pass(); 19$t->good(); 20$t->fail();// must fail because we are calling from outside of class pass 21 22echo "Done\n"; // shouldn't be displayed 23?> 24--EXPECTF-- 25Call fail() 26 27Fatal error: Uncaught Error: Call to protected method pass::fail() from context '' in %s:%d 28Stack trace: 29#0 {main} 30 thrown in %s on line %d 31