Sto scherzando con i modelli e mi sono imbattuto in una situazione in cui ho bisogno di echo al browser un modello che contiene html & php. Come valuto il PHP e lo invio al browser?Eval PHP che valuta HTML e PHP
Quindi, ecco un esempio (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>
E poi in template.php:
<?php
$contents; // Contains main.php in string format
echo eval($contents); // Doesn't work... How do I do this line??
?>
EDIT: Il mio modello permette anche di inserire dei dati dal controller Smarty-style. Un buffer di output mi permetterebbe di fare questo e quindi valutare il mio php. L'ideale è che faccia un primo passaggio nel codice e valuti prima tutti i tag, quindi esegua il php. In questo modo posso creare loop e cose dall'utilizzo dei dati inviati dal mio controller.
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>
Grazie!
ho chiarito quello che il mio modello fa, sarebbe questo ancora lavorare? – Matt
Sì, puoi usare le variabili che hai già dichiarato nel modello. Tuttavia, non puoi usare {$ title} come hai fatto tu - questo mostrerà letteralmente quel testo. Devi dire al modello che quello è PHP. Ho aggiornato la mia risposta per dimostrare. –
Questa risposta dovrebbe essere accettata! –