Calling a static function.

Calling a static function.

am 09.10.2007 00:09:20 von PaowZ

Hello there!

I have to call a bunch of static functions where class names are
stored in a array.
So I have: $my_array = array("class_1","class_2", ... and so on...)

So I tried this piece of code to call static functions attached to
each classes like that:

foreach($my_array as $classname)
$classname::MyStaticFunc(...);

...and I get this error: Parse error: syntax error, unexpected
T_PAAMAYIM_NEKUDOTAYIM (by the way, if someone could tell me what
language is T_PAAMAYIM_NEKUDOTAYIM..) PHP5 can't do it magically..

Any help would be greatly appreciated :)

Thanks..

Re: Calling a static function.

am 09.10.2007 00:20:06 von Michael Fesser

..oO(PaowZ)

>I have to call a bunch of static functions where class names are
>stored in a array.
>So I have: $my_array = array("class_1","class_2", ... and so on...)
>
>So I tried this piece of code to call static functions attached to
>each classes like that:
>
>foreach($my_array as $classname)
> $classname::MyStaticFunc(...);
>
>..and I get this error: Parse error: syntax error, unexpected
>T_PAAMAYIM_NEKUDOTAYIM (by the way, if someone could tell me what
>language is T_PAAMAYIM_NEKUDOTAYIM..) PHP5 can't do it magically..

The T_PAAMAYIM_NEKUDOTAYIM is the '::'. For calling a method with a
variable class name use call_user_func() instead:

call_user_func(array($classname, 'MyStaticFunc'));

Micha

Re: Calling a static function.

am 09.10.2007 00:42:04 von PaowZ

Thanks for replying so quickly.. :)

Concerning the error name, yes, google just told me it was hebrew..
ok, I try out call_user_func right away..
Thanks again :)