E' una domanda da un milione di dollari

Ho implementato il supporto per il codice PHP nel mio template engine permettendo di scrivere i template come meglio si credono, template suddivisi in blocchi che vengono caricati, suddivisi e poi eseguiti a richiesta

codice:
<h1>Profili più gettonati</h1>
<ul>
    [*]
        [img]{$TemplatePath}/Images/Avatars/{$Profile['Avatar']['File']}.jpg[/img]
        {$Profile['Nick']}
{$Profile['Sex']}
{$Profile['Age']}, {$Profile['City']}

        
        OFFLINE
        
        
        ONLINE
        
    
    [/list]
questo è un pezzo di un template di una pagina

In questo caso il sistema utilizzava sempre eval per effettuare il parsing, ma lo usava in modo che non fosse possibile eseguire codice php all'interno del template in alcun modo.

Questo template, con il nuovo sistema, diventa quindi
codice:
<h1>Profili più gettonati</h1>
<ul>
    [*]
        [img]<?php echo $TemplatePath; ?>/Images/Avatars/<?php echo $Profile['Avatar']['File']; ?>.jpg[/img]
        <?php echo $Profile['Nick']; ?>
<?php echo $Profile['Sex']; ?>
<?php echo $Profile['Age']; ?>, <?php echo $Profile['City']; ?>

        
        OFFLINE
        
        
        ONLINE
        
    
    [/list]
Ora, da un punto di vista della velocità di apprendimento SICURAMENTE la curva è altissima perché si può usare tranquillamente codice php gestito da dreamweaver senza incappare in problematiche situazioni

Per essere precisi, il codice di sopra, potendo sfruttare php, lo trasformerei in
codice:
<h1>Profili più gettonati</h1>
<ul>
    <?php foreach($Profiles as $Profile) : ?>[*]
        [img]<?php echo $TemplatePath; ?>/Images/Avatars/<?php echo $Profile['Avatar']['File']; ?>.jpg[/img]
        <?php echo $Profile['Nick']; ?>
<?php echo $Profile['Sex']; ?>
<?php echo $Profile['Age']; ?>, <?php echo $Profile['City']; ?>

        <?php if ($Profile['IsOnline'] === false) : ?>
        OFFLINE
        <?php else : ?>
        ONLINE
        <?php endif; ?>
    
    <?php endforeach; ?>[/list]
che, quanto orrido possa essere, essendo comunque usato ESCLUSIVAMENTE nei template, è sicuramente veloce e facile da scrivere

voi lo sapete, o per lo meno chi mi conosce lo sa, queste cose per me sono l'orrore allo stato puro, però se si vuole ottenere un buon risultato bisogna trovare dei compromessi

Questo stesso codice si può riscrivere anche usando gli short tags (invece di <?php echo .... si può fare <?=..... però decisamente è sconsigliatissimo!)

Secondo voi conviene fare una cosa del genere?

In questo modo quando parso i blocchi estraggo i valori dal database e li passo ai blocchi principali, o per meglio dire direttamente al template della pagina in questione, evitando e riducendo rogne e problemi perché a questo punto è direttamente il template che gestisce l'organizzazione a video e non più il codice del modulo php ottenendo una TOTALE separazione del tutto

cosa mi consigliate?


NOTA: non sto dicendo di mischiare php e html ma ESCLUSIVAMENTE di utilizzare php e html insieme nel codice del template quindi php è utilizzato esclusivamente per costruire la pagina non per gestire la logica del tutto che quella è per i fatti suoi ... in questo modo si ottengono tanti vantaggi senza precludere funzionalità