functie aanroep
Ik heb een array met meerdere functies. Deze array is als volgt opgebouwd:
$functies = array('self' => 'test').
Nu wil ik middels een foreach loop de functie self::mijnfunctie($variabele) aanroepen en de return-waarde opslaan in een array. Echter, het werkt niet. Ik weet niet hoe ik de functie moet aanroepen vanuit de foreach loop:
Code (php)
Dit gaat echter niet goed:
$waardes[] = $class::$functie(true);
Iemand een idee hoe ik hier de functie kan aanroepen?
Misschien iets doms maar anders zou ik het zo ook even niet weten :)
$waardes[] = $$class::$$functie(true);
Helaas, het werkt geen van beide. Poging 1 geeft 'm terug als string en poging 2 geeft een parse error. Nog meer suggesties?
Toevoeging op 09/02/2012 12:30:53:
http://www.phphulp.nl/php/tutorial/php-algemeen/variabel-denken/770/
Ah SanThe was me voor, zat precies bij het zelfde tutorial te kijken.
Gewijzigd op 09/02/2012 12:41:15 door Joakim Broden
Heren, ik krijg nog steeds een parse error :(
Ozzie PHP op 09/02/2012 12:33:10:
Heren, ik krijg nog steeds een parse error :(
Welke?
Toevoeging op 09/02/2012 12:41:31:
Fatal error: Class name must be a valid object or a string in...
Toevoeging op 09/02/2012 12:41:59:
Ook in m'n editor geeft ie rode kringetjes om aan te geven dat het niet klopt.
Gewijzigd op 09/02/2012 12:42:49 door Ozzie PHP
Gewijzigd op 09/02/2012 12:42:34 door Joakim Broden
@HJ: Nee, helaas ook niet;
Welke heb je nou allemaal geprobeerd?
Ik heb ze allemaal geprobeerd.
Lijstje?
wat bedoel je?
$waardes[] = ${$class}::${$functie}(true);
$waardes[] = ${$class}::${$functie(true)};
Toevoeging op 09/02/2012 13:42:56:
heb het opgelost met behulp van forward_static_call()
Juist jacco! Daarnaast is het misschien nog mooi om te controleren of de methode daadwerkelijk bestaat? En of hij kan worden aangeroepen?
Volgens mij is dat beter omdat het om statische functies gaat? Zo niet dan hoor ik het graag!