$p = new subsubsubcounter(); echo "verify that grandfather constructor can be called, skipping parent constructor<br>\n"; echo "Result: " . ($p->count == 3 ? 'pass' : 'fail') . "<br><br>\n\n"; } function test13() { class test13class extends person { function say_hello() { return person::say_hello(); } } $p = new test13class(); echo "verifying that parentclassname::method() works.<br>\n"; echo "Result: " . ($p->say_hello() == "I am a person" ? 'pass' : 'fail') . "<br><br>\n\n"; } function test14() { class z { function identify($type) { return "I am a {$type}."; } } class zz extends z { function identify() { return parent::identify('zz');