2011-05-31 17:20:51 +08:00
|
|
|
--TEST--
|
|
|
|
Bug #54910 (Crash when calling call_user_func with unknown function name)
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
class A {
|
|
|
|
public function __call($method, $args) {
|
|
|
|
if (stripos($method, 'get') === 0) {
|
|
|
|
return $this->get();
|
2018-09-17 01:16:42 +08:00
|
|
|
}
|
2011-05-31 17:20:51 +08:00
|
|
|
die("No such method - '$method'\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
protected function get() {
|
|
|
|
$class = get_class($this);
|
|
|
|
$call = array($class, 'noSuchMethod');
|
2018-09-17 01:16:42 +08:00
|
|
|
|
2011-05-31 17:20:51 +08:00
|
|
|
if (is_callable($call)) {
|
|
|
|
call_user_func($call);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class B extends A {}
|
|
|
|
|
|
|
|
$input = new B();
|
|
|
|
echo $input->getEmail();
|
|
|
|
--EXPECT--
|
|
|
|
No such method - 'noSuchMethod'
|