thanks,

well, the 'new' woks the same with ou without '()' after class, I think...

and I now how it works, i only don't understand why... if the method
is not available outside of class it should go to __call function like
if it doesn't exist...
it doesn't make any sense to anyone else?


On Sat, Aug 30, 2008 at 2:38 PM, Jochem Maas <[EMAIL PROTECTED]> wrote:
> Diogo Neves schreef:
>>
>> hi all,
>>
>> I'm sending this email only to ask if someone know if the works of
>> __call in private methods is bug or feature.
>>
>> ex.
>>
>> class user {
>> public function __call ( $name, $arguments ) {
>> do something
>> return call_user_func( array( $this, $name ), $arguments );
>
> the fatal error occurs because the method exists, but it's
> private ... __call() is only called if the method does not exist
> at all:
>
> class user {
>        public function __call($m, $a) {
>                if (is_callable(array($this, "_".$m)))
>                        return $this->{"_".$m}( $a );
>        }
>
>        private function _xpto($a)
>        {
>                var_dump($a);
>        }
> }
>
> $u = new user;
> $u->xpto(1, 2, 3);
>
>> }
>> private function xpto ( $arguments ) {
>> do something
>> }
>> }
>>
>> new $user = new user();
>
> the first 'new' is incorrect me thinks.
>
>> $user->xpto();
>>
>> error:
>> Fatal error:  Call to private method user::xpto() from context '' in
>> xpto.php on line 11
>>
>> PS:
>> what a fucking I was thinking?
>>
>> well, it don't have this public method, then it sholdn't know it
>> exists, then go to __call()
>> i really don't know if it make any sense to someone else, but it still
>> make sense to me
>>
>> any thoughts?
>>
>>
>> ---- ----
>> Thanks by your attention,
>>
>> Diogo Neves
>> Developer @ Sapo.pt by PrimeIT.pt
>>
>
>

---- ----
Thanks by your attention,

Diogo Neves
Developer @ Sapo.pt by PrimeIT.pt

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to