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