PHP – Lezione 1 - Luca Andrea Ludovico
Transcript
PHP – Lezione 1 - Luca Andrea Ludovico
Università degli Studi di Milano Dipartimento di Informatica e Comunicazione Corso di Laurea in Scienze e Tecnologie della Comunicazione Musicale Informatica Generale - Prof. Luca A. Ludovico PHP – Lezione 1 Introduzione Pagine Web statiche e dinamiche Paradigma client-server Linguaggi di scripting per rendere una pagina dinamica 1. ASP (Active Sterver Pages) 2. CGI (Common Gateway Interface) 3. PHP (PHP: Hypertext Preprocessor) Cosa significa pre-processare? Esempio: pagina Web in cui si visualizza data corrente. Quando il server riceve la richiesta della pagina, trova l’istruzione PHP, la risolve (calcola la data) e ne scrive i risultati "staticamente" nella pagina restituita. Caricamento e visualizzazione delle pagine PHP I file PHP contengono XHTML standard (con eventuali fogli di stile) e blocchi di codice PHP. Lancio e utilizzo di EasyPHP (server Web in locale) I file vanno posizionati nella cartella “D:\Program Files\EasyPHP 2.0b1\www” Caricamento delle pagine nel browser http://localhost/nomepagina Estensione di default: .php (.php3, .php4, .php5) Il primo script PHP All'interno del file, i blocchi di codice php sono racchiusi tra <?PHP ... ?> Sequenze di istruzioni separate da “;” Esempio: <p> Questo è un <?PHP echo "esempio "; echo "in "; ?> PHP </p> L’indentazione e gli spazi non contano. L’esempio sopra è equivalente a: <p>Questo è un <?PHP echo "esempio "; echo "in ";?>PHP</p> Osservazione Codice sorgente: <p>Questo è un <?PHP echo "esempio"; ?> in PHP</p> Dopo l'interpretazione da parte del server, al client viene restituito: <p>Questo è un esempio in PHP</p> Output di testo print ("testo"); print "testo"; echo ("testo"); echo "testo"; Delimitatori: apici doppi o singoli. Usando gli apici doppi, all’interno della stringa è possibile utilizzare l’apice singolo (apostrofo) in quanto tale e non come delimitatore di chiusura stringa. Esempi: Uso dei doppi apici come delimitatori [OK]: "questa è una stringa valida" Uso degli apici singoli come delimitatori [OK]: 'questa è una stringa valida' Uso degli apici singoli (apostrofi) in una stringa [OK]: "questa è l’altra stringa valida" Uso degli apici singoli (apostrofi) in una stringa [NO]: 'questa NON è un'altra stringa valida' Uso degli apici doppi in una stringa [NO]: "Il titolo del libro è "Zanna bianca"." Uso del carattere di escape [OK]: "Il titolo del libro è \"Zanna bianca\"." Variabili Sono contenitori per valori che possono variare nel tempo. Se i valori non devono/possono cambiare, si parla di costanti. Tipizzazione delle variabili: fissa il range (intervallo) ammissibile di valori e le operazioni ammissibili su tali valori. In C, C++, C#, Java, Pascal, ... le variabili sono tipizzate In PHP le variabili NON sono tipizzate Ogni variabile ha un nome che inizia con “$”, seguito da un carattere alfabetico o “_”, seguito da un numero a piacimento di caratteri alfanumerici o “_”. Esempi: • $pippo, $topo_lino, $_pluto, $paperino1, $p1 [OK] • pippo, 1, $;pippo, $1, $ [NO] Tipi ammessi: interi (con e senza segno) razionali (in virgola mobile) stringhe array Assegnamento: crea coppia nome variabile – valore, depositando un valore nel contenitore. Operatore di assegnamento: “=” Esempi: $pippo = 5; $pippo = "Libro"; Commenti I commenti PHP (contrariamente a quelli XHTML) vengono eliminati dal codice nel momento del preprocessing, quindi non vengono nemmeno trasmessi al client. Servono a conferire maggiore leggibilità al codice. Esistono 2 tipologie di commento: • su una riga sola: // A partire dal simbolo // la riga non viene più processata • commenti multi-linea: /* ... */ Possono essere utilizzati anche come commenti su una riga sola Anche se interpolati a istruzioni PHP, vengono estratti senza essere valutati all’atto del preprocessing. Ad esempio echo /*cosa scrivo???*/ "Questa lezione è interessante!"; viene interpretato come echo "Questa lezione è interessante!"; e il commento sparisce del tutto dall’XHTML passato al client. Esempi conclusivi I due blocchi seguenti di codice mostrano due alternative equivalenti per ottenere lo stesso risultato di layout. Nel secondo esempio, anziché aprire e chiudere molti blocchi PHP ogni volta che si deve mandare in output del codice XHTML, si utilizza l’istruzione echo anche per comporre i tag della pagina. Al browser (e quindi dopo il preprocessing da parte del server) giunge lo stesso codice. <p> Esempio di uso delle variabili: <br /> <?PHP $pippo = 5; echo $pippo; ?> <br /> <?PHP $pippo = 10; echo $pippo; ?> </p> <p> Esempio di uso delle variabili: <?PHP echo "<br />"; $pippo = 5; echo $pippo; echo "<br />"; $pippo = 10; echo $pippo; ?> </p> Come ulteriore esempio di possibili interpolazioni tra XHTML e PHP, si osservi che dopo il pre-processing le 4 righe seguenti provocano lo stesso risultato nel browser. 1. XHTML puro: <i>Topolino</i> 2. PHP all’interno di etichettatura XHTML: <i><?PHP echo " Topolino "; ?></i> 3. Etichettatura XHTML all’interno di PHP: <?PHP echo "<i>Regia Marina</i>"; ?> 4. Interpolazione poco chiara ma sintatticamente corretta: <i<?PHP echo ">Regia Marina</"; ?>i>