Hi,
In the following sample code, I expected that the magic method __call only
works within the class Test.
But it seems that the access control keyword private lost its efficacy when
working together with the magic method __call.
<?php
class Test{
private function __call($name,$params){
echo $name,"\n";
echo $params[0];
}
public function bar(){
$this->kakaka('afaafaf');
}
}
$foo=new Test;
$foo->bar('sfsfss');
$foo->nothing('works'); // this also works without any errors.
?>
IMHO, since the function __call is a method of a class, it should obey the
visibility rules.
Cheers.