RSS Feed Seguiteci su Twitter! Seguiteci su Facebook!
NEWS: Questo Blog e' rimasto inattivo per più di 18 mesi , quindi possono esserci link non funzionanti o altre problematiche dovute alla mancata manutenzione. Cosa vi piace o non in questo BLOG?, scrivete tutte le vostre recensioni in questa area commenti, provvederemo immediatamente a cancellare il Blog o migliorarlo nelle sue aspettative. Grazie.

Lezione04: PHP e l'HTML


PHP è un linguaggio la cui funzione fondamentale è quella di produrre codice HTML, che è quello dal quale sono formate le pagine Web. Ma, poichè PHP è un linguaggio di programmazione, abbiamo la possibilità di analizzare diverse situazioni (l'input degli utenti, i dati contenuti in un database) e di decidere, di conseguenza, di produrre codice HTML condizionato ai risultati dell'elaborazione. Questo è, in parole povere, il Web dinamico. Come abbiamo visto precedentemente, quando il server riceve una richiesta per una pagina PHP, la fa analizzare dall'interprete del linguaggio, il quale restituisce un file contenente solo il codice che deve essere inviato al browser (in linea di massima HTML, ma può esserci anche codice JavaScript, fogli di stile CSS o qualunque altro contenuto fruibile da un browser, come immagini e documenti Pdf).
Detto questo, come avviene la produzione di codice HTML? La prima cosa da sapere è come fa l'interprete PHP a discernere quale porzione di un file contiene codice da elaborare e quale codice da restituire solamente all'utente. Questa fase di riconoscimento è molto importante, dato che permette a PHP di essere incluso all'interno di normale codice HTML in modo da renderne dinamica la creazione. Il codice PHP deve essere compreso fra appositi tag di apertura e di chiusura, che sono i seguenti:

//tag di apertura
?>    //tag di chiusura
Tutto ciò che è contenuto fra questi tag deve corrispondere alle regole sintattiche del PHP, ed è codice che sarà eseguito dall'interprete e non sarà inviato direttamente al browser al browser. Per generare l'output da inviare al browser attraverso codice PHP viene normalmente utilizzato il costrutto echo. Vediamo un semplice esempio, composto da codice HTML e codice PHP (il codice PHP è evidenziato in rosso):

  <br>    <span class="rossaccio"><?php <br>      echo "Pagina di prova PHP";<br>    ?></span><br>  


      echo "Buona giornata!";
  ?>
Questo banalissimo codice produrrà un file HTML il cui contenuto sarà semplicemente:

  <br>    Pagina di prova PHP<br>  


  Buona giornata!
Quindi l'utente vedrà sul suo browser la riga "Buona giornata!". È opportuno ricordare che il dato da inviare al browser che segue il comando echo può essere racchiuso tra parentesi e che al comando possono essere date in input più stringhe (questo è il nome che viene dato ad una ripetizione di qualunque carattere compreso tra due apici singoli (' ') o doppi (" ")), separate da virgole, così:
echo "Buongiorno a tutti!", "
\n", "È una bellissima giornata";
Se si decide di utilizzare il separatore virgola, non possono essere utilizzate le parentesi. Nel prosieguo del corso useremo spesso il verbo 'stampare' riferito alle azioni prodotte dal comando echo o da istruzioni con funzionalità analoghe (quali print, sprintf e altro): ricordiamoci però che si tratta di una convenzione, perchè in questo caso la 'stampa' non avviene su carta, ma sull'input che verrà inviato al browser!
Facciamo caso ad un dettaglio: nelle istruzioni in cui stampavamo "Buongiorno a tutti", abbiamo inserito, dopo il 
, il simbolo \n. Questo simbolo ha una funzione abbastanza importante nella programmazione e nello scripting che serve più che altro per dare leggibilità al codice HTML che stiamo producendo. Infatti PHP, quando trova questa combinazione di caratteri fra virgolette, li trasforma in un carattere di ritorno a capo: questo ci permette di controllare l'impaginazione del nostro codice HTML. Bisogna però stare molto attenti a non confondere il codice HTML con il layout della pagina che l'utente visualizzerà sul browser: infatti, sul browser è solo il tag
che forza il testo ad andare a capo.
Quando questo tag non c'è, il browser allinea tutto il testo proseguendo sulla stessa linea (almeno fino a quando gli altri elementi della pagina e le dimensioni della finestra non gli "consigliano" di fare diversamente), anche se il codice HTML ha un ritorno a capo.
Vediamo di chiarire questo concetto con un paio di esempi:
echo "prima riga\n";
echo "seconda riga
";
echo "terza riga"; 
?> 
Questo codice php produrrà il seguente codice HTML:
prima riga 
seconda riga
terza riga
mentre l'utente, sul browser, leggerà:
prima riga seconda riga
terza riga
Questo perchè il codice PHP, mettendo il codice 'newline' dopo il testo 'prima riga', fa sì che il codice HTML venga formato con un ritorno a capo dopo tale testo. Il file ricevuto dal browser quindi andrà a capo proprio lì. Il browser, però, non trovando un tag che gli indichi di andare a capo, affiancherà la frase 'prima riga' alla frase 'seconda riga', limitandosi a mettere uno spazio fra le due. Successivamente accade l'esatto contrario: PHP produce un codice HTML nel quale il testo 'seconda riga' è seguito dal tag
, ma non dal codice 'newline'. Per questo, nel file HTML, 'seconda riga' e 'terza riga' vengono attaccati. Il browser, però, quando trova il tag
porta il testo a capo.
Avrete forse notato che in fondo ad ogni istruzione PHP abbiamo messo un punto e virgola; infatti la sintassi del PHP prevede che il punto e virgola debba obbligatoriamente chiudere ogni istruzione. Ricordiamoci quindi di metterlo sempre, con qualche eccezione che vedremo più avanti. Da quanto abbiamo detto finora emerge una realtà molto importante: chi vuole avvicinarsi al PHP deve già avere una conoscenza approfondita di HTML e di tutto quanto può far parte di una pagina web (si consiglia per questo di leggere le nostre Guide all'HTML, al JavaScript, e ai CSS).
Questo perchè lo scopo principale di PHP è proprio la produzione di questi codici (anche se va ricordato che può essere utilizzato per scopi differenti, come linguaggio di shell o per la creazione di applicazioni desktop grazie all'estensione PHP-GTK).

0 commenti:

Posta un commento

Proponi un'idea, segnalaci un problema.

Entra a far parte di CS3, pubblica i tuoi articoli.

Scrivi un commento!