PHP : Convertir une chaine en code php ?

Résolu/Fermé
Grégoire - 19 nov. 2009 à 18:50
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 20 nov. 2009 à 17:00
Bonjour,

Comment puis-je convertir une chaine de caractères en code php ? Imaginons qu'une telle fonction existe sous le nom de laSolution($chaine) alors :

<?php

echo("Bonjour");

?>


Serait équivalent à

<?php

laSolution("echo(\"Bonjour\")");

?>


Comment faire la fonction laSolution ?

MERCI
A voir également:

3 réponses

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
20 nov. 2009 à 08:16
Salut,

Ce que tu cherches ca doit être la fonction eval.
Par exemple :
eval('echo "test";');
1
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
20 nov. 2009 à 17:00
Bien vu, je mets le topic en résolu.
0
roboConan Messages postés 1762 Date d'inscription dimanche 15 novembre 2009 Statut Membre Dernière intervention 9 octobre 2023 689
19 nov. 2009 à 20:29
Bonjour, je ne suis pas sur de bien comprendre la question, si ce que tu cherches est quelque chose pour pouvoir insérer une portion de code php dans tes pages de manière à ne pas avoir à la retaper à chaque fois, et de pouvoir la modifier une fois pour toutes les pages (un peu comme le css pour le design), la fonction que tu cherches est include.

voir ici les spécificités de cette foncion ô combien pratique :
http://www.allhtml.com/articles/detail/241

en ésperant t'aider....
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
19 nov. 2009 à 23:09
Je n'ai pas la solution mais je penses que ce que tu cherches à faire est un callback.
Voici une façon de faire (je n'ai pas testé) :
<?php
$direBonjour = function() {
    echo 'Bonjour :)';
}
function laSolution($callback) {
    $callback();
}
laSolution($direBonjour);
?>
Il y a d'autres façon de faire comme celle-ci :
<?php
function laSolution($callback) {
    $callback();
}
function direBonjour() {
    echo 'Bonjour :)';
}
laSolution('direBonjour');
?>
0