2011-01-03 3 views

Répondre

3

Les fonctions anonymes sont disponibles depuis PHP 5.3. Vous ne pouvez pas les utiliser dans des versions plus anciennes. Jetez un oeil à the docs.

+0

Merci pour votre réponse rapide. Connaissez-vous un correctif que je peux ajouter à 5.1.6 pour que ces fonctions anonymes soient disponibles? –

+0

@Edu: Je ne pense pas que vous pouvez simuler ce comportement en utilisant PHP natif. Vous aurez besoin de recompiler PHP avec un support pour les fonctions anonymes (whis n'est probablement pas aussi facile que ça en a l'air, car vous avez besoin de faire un gros travail manuel de recherche et de fusion). Il serait beaucoup plus facile de passer à une version plus récente de PHP. – jwueller

7
$func = create_function('','echo "Hello!";'); 

echo "Before Hello"; 
$func(); 

pour pouvoir "assigner une fonction à une variable", sans se plonger dans le code eval-ish:

function my_not_so_anonymous_function1() 
{ 
    echo "Hello!"; 
} 
$func = 'my_not_so_anonymous_function1'; 

echo "Before Hello"; 
$func(); 
+0

Je déteste ce code eval-ish, mais c'est la seule solution de contournement dont je suis conscient. +1! – jwueller

+0

Merci. Mais c'est une solution qui n'est pas bonne pour moi. Je veux écrire beaucoup de code et je ne veux vraiment pas créer une fonction en tant que chaîne. Pas bon pour le débogage plus tard. –

+0

La question était de savoir comment émuler quelque chose qui n'est pas disponible. C'est la réponse la plus évidente. Il y a une alternative, accrochez-vous ... – mvds

Questions connexes