Je suis en train de déconner avec des modèles et j'ai couru dans une situation où j'ai besoin d'écho au navigateur un modèle qui contient html & php. Comment puis-je évaluer le PHP et l'envoyer au navigateur?PHP Eval qui évalue HTML et PHP
est donc ici un exemple (main.php):
<div id = "container">
<div id="head">
<?php if ($id > 10): ?>
<H3>Greater than 10!</H3>
<?php else: ?>
<H3>Less than 10!</H3>
<?php endif ?>
</div>
</div>
Et puis dans le template.php:
<?php
$contents; // Contains main.php in string format
echo eval($contents); // Doesn't work... How do I do this line??
?>
EDIT: Mon modèle vous permet également d'injecter des données du contrôleur Smarty-style. Est-ce qu'un tampon de sortie me permettrait de faire cela et ensuite évaluer mon php. L'idéal est de faire un premier passage dans le code et d'évaluer toutes les balises en premier, puis de lancer le php. De cette façon, je peux créer des boucles et des trucs à partir des données envoyées par mon contrôleur.
So maybe a more complete example:
<div id = "container">
<div id = "title">{$title}</div> <!-- This adds data sent from a controller -->
<div id="head">
<?php if ($id > 10): ?>
<H3>Greater than 10!</H3>
<?php else: ?>
<H3>Less than 10!</H3>
<?php endif ?>
</div>
</div>
Merci!
je ce que mon modèle clarifié le fait, ce serait encore travailler? – Matt
Oui, vous pouvez utiliser les variables que vous avez déjà déclarées dans le modèle. Vous ne pouvez cependant pas utiliser {$ title} comme vous l'avez fait - cela affichera simplement ce texte littéralement. Vous devez dire au template que c'est PHP. J'ai mis à jour ma réponse pour démontrer. –
Cette réponse devrait être acceptée! –