--TEST-- Protected visibility test case with a grandparent prototype --FILE-- test(); // Uncaught Error: Call to protected method D::test() from context 'B' } } class C extends A { protected function test() {} } class D extends C { protected function test() { echo "Hello World!\n"; } } (new B)->test2(new D); ?> --EXPECT-- Hello World!