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>