blob: 6ae972a7abf007bff554e6919e981004f0a76f85 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
--TEST--
Bug #48770 (call_user_func_array() fails to call parent from inheriting class)
--XFAIL--
See Bug #48770
--FILE--
<?php
class A {
public function func($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
private function func22($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class B extends A {
public function func($str) {
static $avoid_crash = 0;
if ($avoid_crash++ == 1) {
print "This method shouldn't be called when using parent::func!\n";
return;
}
call_user_func_array(array($this, 'parent::func'), array($str));
}
private function func2($str) {
var_dump(__METHOD__ .': '. $str);
}
protected function func3($str) {
var_dump(__METHOD__ .': '. $str);
}
}
class C extends B {
public function func($str) {
parent::func($str);
}
}
$c = new C;
$c->func('This should work!');
?>
--EXPECT--
string(26) "A::func: This should work!"
|