verschil functie aanroepen?
$my_class->$my_action();
en op deze manier?
call_user_func(array($my_class, $my_action));
Gewijzigd op 02/04/2012 20:36:54 door Ozzie PHP
Als je dat niet nodig hebt is de eerste manier natuurlijk duidelijker.
Code (php)
En met call_user_func kun je maar 1 argument toevoegen, met call_user_func_array meerdere.
Wat dus het voordeel is van de call_user_func is mij ook nog niet heel duidelijk.
Edit:
Even in de PHP broncode gekeken en er lijkt alleen regelrecht een zend_call_func aangeroepen te worden, dat er dus iets speciaals mee wordt gedaan lijkt me niet.
Gewijzigd op 02/04/2012 19:42:43 door Wouter J
Wouter J op 02/04/2012 19:38:00:
Pim, zonder die functie kun je de functie ook variabel maken:
En dat is dus precies waarom ik niet snap wat nou het nut van die functie is.
http://stackoverflow.com/a/1596347/1149495
Het zegt eigenlijk allemaal dat call_user_func_array heel handig is, omdat je dan een variabel aantal argumenten kunt toevoegen aan je functie, maar call_user_func kan ook gewoon gedaan worden zonder die functie.
Op internet kan ik niet echt goed een uitleg vinden. Het beste wat ik kan vinden is ong. samengevat hier te lezen: Het zegt eigenlijk allemaal dat call_user_func_array heel handig is, omdat je dan een variabel aantal argumenten kunt toevoegen aan je functie, maar call_user_func kan ook gewoon gedaan worden zonder die functie.
Dit: $my_class->$my_action();
en dit: call_user_func(array($my_class, $my_action));
doet toch echt hetzelfde...
(ik was in mijn beginpost het $ teken vergeten bij my_action)
Gewijzigd op 02/04/2012 20:36:31 door Ozzie PHP