Je voulais obtenir le même effet. Dans mon cas, j'ai des fonctions qui produisent du HTML que je veux répercuter directement parfois (quand un appel Ajax est en cours), ou renvoyé (quand un appel est fait depuis un autre script). Par exemple, une fonction qui crée une liste de <option>
éléments HTML - listOfOption($filter)
. Quand un de mes pages est créé, la fonction est appelée et le résultat est repris en place:
<?= listOfOption($var) ?>
Mais parfois les mêmes données doit être récupéré dans un appel Ajax:
http://site.com/listOfOption.php?parameter=2
au lieu d'écrire deux scripts différents ou de spécifier le comportement d'un paramètre, je garde listOfOption($filter)
dans son propre fichier comme celui-ci:
if (__FILE__ == $_SERVER['SCRIPT_FILENAME'])
{
echo listOfOption($_REQUEST['parameter']);
}
function listOfOption($filter)
{
return '<option value="1">Foo</option>';
}
De cette façon, si l'appel provient d'un autre script, il renvoie les données; sinon, il imprime les données.
Notez que si un paramètre n'est pas passé à la fonction je n'aurais pas à faire cela, je pourrais vivre avec l'écho des données toujours et remplacer l'invocation <?= listOfOption() ?>
par <? listOfOption() ?>
pour garder les choses claires.
merci, j'espérais qu'il y avait un meilleur moyen :) Quelque chose de plus élégant que d'ajouter une variable supplémentaire – Alex