Shijiang, did you notice the

--
Warning: The magic method __call() must have public visibility and cannot be
static in Command line code on line 1
--

???

2010/8/3 Shijiang <shiji...@staff.sina.com.cn>

> 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.
>



-- 
С уважением,
Виктор

Reply via email to