Yes, sorry. I've been working with 5.3 for pretty long time so I found the
original letter a bit strange.

2010/8/3 Ferenc Kovacs <i...@tyrael.hu>

> 2010/8/3 Victor Bolshov <crocodil...@gmail.com>:
> > 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.
> >>
> >
> >
> >
> > --
> > С уважением,
> > Виктор
> >
>
> It was added/changed with 5.3 so it is not necessarly obvious.
>
> Tyrael
>



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

Reply via email to