- Home
- Categorie
- Coding e Sistemistica
- PHP
- sviluppo sito dinamico
-
Costruisci la pagina base in Html e poi spezza il codice in tante porzion i per quanti settori ci sono (es. toop, corpo, foot). Con una pagina in php ed includendo i tre faile nella sequenza con cui devono rigenerare il codice html tranne quella parte che sarà dinamica.
un esempio con testata in cui all'interno ho un menu, poi ci sono dati dinamici determinati da una query ed infine il piede :
<?php
include("toop");
?>
<!-- Qui inizia la parte dinamica -->
<!-- Qui finisce la parte dinamica -->
<?
include("foot");
?>
-
@franklin_92 said:
inoltre non capisco come a seconda della query cambi anche il titolo, i meta-tags ed altri elementi
Credo che sia sufficiente inserire nell'HTML i valori dinamici della pagina-destinazione.
-
@runen said:
Credo che sia sufficiente inserire nell'HTML i valori dinamici della pagina-destinazione.
Esatto.Se lo si fa tramite un echo() si possono inserire le variabili direttamente nella stringa da stampare (esempio: echo "<b>$codice</b>";) ,altrimenti è necessario l'uso dei templates (utilissimi secondo me).
-
@probid said:
Esatto.Se lo si fa tramite un echo() si possono inserire le variabili direttamente nella stringa da stampare (esempio: echo "<b>$codice</b>";) ,altrimenti è necessario l'uso dei templates (utilissimi secondo me).
come funziona l'"altrimenti" con i templates? con print? con include?
-
Basta creare una pagina html (esempio index.html) dove inserire le variabili,per esempio $dascrivere.
Poi nella pagina php:
[php]
<?QUESTA FUNZIONE LEGGE E RESTITUISCE IL TEMPLATE HTML FACENDO L'ESCAPE DEGLI APICI DOPPI
function GetTemplate($template) {
return str_replace("\"","\\\"",implode("",file($template)));
}
QUESTA FUNZIONE STAMPA A VIDEO IL TEMPLATE RISULTANTE DALLA FUNZIONE PRECEDENTE
function Stampa($template) {
echo $template;
}
$dascrivere = "questo è il testo da stampare"; //variabile da stampare
eval("Stampa("".GetTemplate("index.html")."");");
}
?>[/php]
-
Scusa ma essendo ancora poco pratico di php mi sfugge una cosa: eval.
Ricapitolo: all'inizio definisci le due funzioni, e più o meno quelle le intendo.
Poi assegni il valore alla variabile $dascrivere.
Infine c'è "eval"... cos'è che fa di preciso questo comando?
-
Ciao runen,la funzione eval (http://it.php.net/eval) serve a tradurre stinghe testuali in codice PHP,infatti $dascrivere in index.html è semplice testo e senza la suddetta funzione sarebbe interpretato come tale e non verrebbe sostituito con il valore corrispondente assegnatogli.
GetTemplate() aggiunge semplicemente un backslash () quando trova apici doppi nel file html che potrebbero generare errori.
Stampa() ha la funzione di stampare il contenuto corretto con l'uso di GetTemplate()...ciao!;)
-
Grazie mille.
Sul sito ufficiale di php, alla pagina che mi hai linkato, viene spiegato il funzionamento di eval. Lì viene riportato un esempio in cui il valore assegnato alle variabili è racchiuso tra apici anziché tra virgolette.
Nel caso il valore venga invece assegnato alle variabili tra virgolette (anziché tra apici), le funzioni echo e print stamperebbero il contenuto della variabile, anziché il suo nome?
-
@franklin_92 said:
inoltre non capisco come a seconda della query cambi anche il titolo, i meta-tags ed altri elementi....
Ho realizzato un sito simile, facendo 2 file da includere ogni pagina: testata (che comprende anche il menu destro e sinistro) e pie di pagina.
Nel file testata ho indicato di stampare variabili tipo $meta e $title, il valore di queste variabili lo assegna lo script in base a quello che estrapola dal database, soltanto in seguito viene incluso il file testata -include()- e automaticamente meta e titolo cambiano in base al contenuto.
Spero ti aiuti
by
-
@Illustre said:
ciao
perche non usare un CMS ?
Secondo me invece gli conviene costruirselo da se, di solito quelli fatti in "casa" sono sempre quelli più adatti e costruiti ad hoc per i contenuti
-
@alessiofbt said:
Secondo me invece gli conviene costruirselo da se, di solito quelli fatti in "casa" sono sempre quelli più adatti e costruiti ad hoc per i contenuti
Condivido sul fatto che realizzare da zero una cosa è sempre la cosa più saggia, almeno in quello che è la personalizzazione.
E'anche vero però che unsare un CMS già pronto non significa essere inesperti o altro, anzi, si va solo a risparmiare del tempo visto che il più del lavoro è già stato fatto.
Ci si aggiunge del proprio lavoro personale per modifiche, aggiunte e personalizzazione dei moduli, grafica ecc e alla fini si ha comunque un buon prodotto.
Filosofia, purtroppo, open source con tutto il rispetto.