Originariamente inviato da jed84
Perfettamente d'accordo col tuo dubbio...illuminaci Leader!
Beh nel web questo discorso può prendere tante strade:
1) Codice PHP e HTML insieme
2) Codice PHP ed HTML divisi
ognuna delle quali può essere realizzata in vario modo.
Io personalmente non uso una vera e propria programmazione ad oggetti nel web. Sia xkè PHP 4 è molto limitato sia perchè in alcuni casi mi è più comodo.
Comunque per le funzioni principali (database, utenti, template) uso delle classi, fatte da me, che mi aiutano ma non uso polimorfismi ed tutte le caratteristiche proprie della programmazione ad oggetti.
Per la gestione del codice html e di quello di programmazione, come detto, possiamo avere vari gradi di integrazione ad esempio (facendo riferimento al codice che ho scritto prima):
(1)
Codice PHP:
<?PHP
$db = new database;
$user = new user;
echo "
<html>
<body>
Ciao {$user->info['nome']}, come va?</p>
</body>
</html>
";
?>
molto brutto da vedere e molto difficile da gestire. Una strada migliore è quella di avere un file php (che sia o meno una classe) che ci fornisca la pagina base comune a tutto il sito:
Codice PHP:
<?PHP
function print_page($body) {
return <<<EOF
<html>
<body>
<div class="header">...</div>
$body
</div class="footer">...</div>
</body>
</html>
EOF;
}
che possiamo poi includere e richiamare nel codice precedente in questo modo:
Codice PHP:
<?PHP
$db = new database;
$user = new user;
incude 'precedente_codice.php';
echo print_page($user->info['nome']);
?>
Che è già più pulito e simpatico.
Ma la strada migliore è sicuramente quella di sviluppare una classe che ti permetta di gestire dei template in modo da dividere completamente PHP ed HTML in modo che:
1) Lo script PHP si occupa di reperire tutti i dati che servono
2) Lo script PHP istanzia la classe template
3) Lo script PHP dice alla classe template quali file gli servono per l'output completo della pagina
4) Lo script PHP incarica la classe template di valorizzare i campi speciali che si trovano nei vari template che gli abbiamo fatto caricare
5) Lo script PHP incarica la classe template di visualizzare l'output
così avremo una classe per il database che legge i dati dal DB, lo script PHP che usa questi dati per passarli alla classe template che poi provvederà a stampare la pagina.
Originariamente inviato da jed84
Altro dubbio..ma quando creo una classe su un file php ke nn è lo stesso in cui la utilizzo non devo comunque includerla?
Se così fosse l'unica differenza tra la programmazione ke utilizzo io ora e qst più pulita è ke non uso la referenziazione tipica delle classi..ma sostanzialmente il modo di utilizzare le funzioni è lo stesso come se le avessi.
Si va sempre incluso il file, in questo caso meglio se con require visto che senza il file di quella classe lo script non funzionerebbe a dovere.