Originariamente inviato da Virus_101
SCusa e come lo fai senno ?
while($condizione)
{
?>
[*]<?=$dato[$indice]?>
<?
}
?>
WP fa cosi' e ti pare una cosa giusta ?
?????????
avrai delle procedure che "producono" i dati impaginati e tale produzione sono stringhe che vai ad innestare dove ti servono ....
Sinceramente sono io che non capisco come pretendi di generare il codice html ove devi tabellizzare dati o generare menu... se non hai procedure che generano l'ooprtuno codice a partire dai parametri di controllo .....
E' molto semplice, ed e' quello che ogni sistema ragionevolmente organizzato fa: PRIMA preparo i dati in apposite strutture, POI li inserisco in un template.
Ad esempio, prima il codice che elabora i dati, li estrae dal database, ci fa quello che deve fare e li mette in un array con un formato prestabilito
Codice PHP:
$data = array();
// esecuzione query
// estrazione risultati
// eventuali elaborazioni necessarie, tipo formattazione date o valute
// registrazione di tutto nella struttura $data
view o template di visualizzazione
Codice PHP:
<ul>
<?php foreach ( $data as $item ): ?>
[*]
Autore: <span class="author"><?php echo $item['author']; ?></span> -
Titolo: <span class="title"><?php echo $item['title']; ?></span> -
Prezzo: <?php echo $item['formatted_price']; ?>
<?php endforeach; ?>[/list]
Qual e' il vantaggio di questo approccio? Che se un giorno invece che estrarre i dati da una query li dovrai prendere da un webservice, dovrai solo cambiare il codice che crea $data e non dovrai nemmeno toccare il template che funzionera' perfettamente (fintanto che rispetterai il formato di $data). Allo stesso modo se un giorno vorrai stampare i dati in una tabella, piuttosto che restituirli come stringa JSON o chissa' che altro, dovrai solo cambiare il template senza minimamente modificare il codice che estrae ed elabora i dati.
In piu' puoi separare lo sviluppo del codice da quello dell'interfaccia (volendo anche assegnando le due parti a due persone diverse in un team), puoi avvalerti degli strumenti che un editor ti offre per la scrittura di HTML (cosa che dentro una stringa PHP non sempre e' possibile) e in genere tieni la tua applicazione piu' ordinata e modulare.
Quello che fa wordpress e' esattamente quello che dici tu, infatti wordpress e' un anti pattern terrificante. Se ti vai a vedere le varie funzioni tipo wp_nav_menu() sono codice PHP che contiene stringhe HTML generate tramite concatenazione ed echo. Una roba oggettivamente ingestibile.