<?php
class A {
private function __call($name, $args) {
echo $name;
}
protected function foo() {
echo 'ahoj';
}
}
class B extends A {
public function bar() {
echo $this->foo()."\n";
}
}
$a = new B;
$a->bar();
$ref = new ReflectionClass($a);
var_dump($ref->getMethods());
Warning: The magic method A::__call() must have public visibility in /in/0FCGm on line 3
ahoj
array(2) {
[0]=>
object(ReflectionMethod)#3 (2) {
["name"]=>
string(3) "bar"
["class"]=>
string(1) "B"
}
[1]=>
object(ReflectionMethod)#4 (2) {
["name"]=>
string(3) "foo"
["class"]=>
string(1) "A"
}
}
Warning: The magic method __call() must have public visibility and cannot be static in /in/0FCGm on line 3
ahoj
array(3) {
[0]=>
object(ReflectionMethod)#3 (2) {
["name"]=>
string(3) "bar"
["class"]=>
string(1) "B"
}
[1]=>
object(ReflectionMethod)#4 (2) {
["name"]=>
string(6) "__call"
["class"]=>
string(1) "A"
}
[2]=>
object(ReflectionMethod)#5 (2) {
["name"]=>
string(3) "foo"
["class"]=>
string(1) "A"
}
}
Warning: The magic method __call() must have public visibility and cannot be static in /in/0FCGm on line 3
ahoj
array(3) {
[0]=>
&object(ReflectionMethod)#3 (2) {
["name"]=>
string(3) "bar"
["class"]=>
string(1) "B"
}
[1]=>
&object(ReflectionMethod)#4 (2) {
["name"]=>
string(6) "__call"
["class"]=>
string(1) "A"
}
[2]=>
&object(ReflectionMethod)#5 (2) {
["name"]=>
string(3) "foo"
["class"]=>
string(1) "A"
}
}
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/0FCGm on line 3
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/0FCGm on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/0FCGm on line 3
Process exited with code 255.