PHP : Convertir une chaine en code php ?

Résolu
Grégoire -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
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
Configuration: Windows 7
Firefox 3.5.5

3 réponses

  1. Dr Zoidberg Messages postés 547 Statut Membre 100
     
    Salut,

    Ce que tu cherches ca doit être la fonction eval.
    Par exemple :
    eval('echo "test";');
    
    1
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Bien vu, je mets le topic en résolu.
      0
  2. roboConan Messages postés 2155 Date d'inscription   Statut Membre Dernière intervention   690
     
    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
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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