Function uit een variabel
Ik kan het variable in een echo zetten, wat netjes de naam van de functie geeft, maar de functie moet uitgevoerd worden. Hoe doet men dat?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function foo()
{
echo 'Hello World <br />';
}
// Normaal
foo();
// Uit variabele
$bar = 'foo';
$bar();
?>
function foo()
{
echo 'Hello World <br />';
}
// Normaal
foo();
// Uit variabele
$bar = 'foo';
$bar();
?>
call_user_func() mij een nettere oplossing dan die van Blanche.
Ik neem aan dat het eigen gedefinieerde functies zijn? Dan lijkt Mocht je die echt willen hebben, dan doet eval() wonderen.
Overigens is het slechts een klein stukje code, er wordt informatie vastgezet over een bepaalde module. Zo is er een kolom voor de naam, versie, auteur, enz. De kolom mod_func bevat dan ook alleen maar de functie, verder niets.
Gewijzigd op 01/01/1970 01:00:00 door Marco
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if (function_exists('imap_open')) {
echo "IMAP functions are available.<br />\n";
} else {
echo "IMAP functions are not available.<br />\n";
}
?>
if (function_exists('imap_open')) {
echo "IMAP functions are available.<br />\n";
} else {
echo "IMAP functions are not available.<br />\n";
}
?>
Verderop in een andere method worden alle modules stuk voor stuk geladen, er wordt gecontroleerd of the gebruiker toegang heeft. Daarna wordt de module en dus de functie geladen.
Er kunnen dus helemaal geen functies geladen worden die niet bestaan, want de modules worden vooraf gecontroleerd op de aanwezige variabelen, die info over de module bevatten.
Bedankt voor jullie hulp!