<?php
abstract class a {
public function __call ($name,$arguments) {
if ($name == 'getb') return new b;
throw new Exception('error');
}
abstract function p();
}
class b extends a {
public function p () {
echo 123;
}
}
$a = new a;
$b = $a->getb();
$b->p();
Fatal error: Uncaught Error: Cannot instantiate abstract class a in /in/JCX1a:18
Stack trace:
#0 {main}
thrown in /in/JCX1a on line 18
Process exited with code 255.
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
Fatal error: Cannot instantiate abstract class a in /in/JCX1a on line 18
Process exited with code 255.