Il linguaggio di scripting PHP

Presentazioni simili


Presentazione sul tema: "Il linguaggio di scripting PHP"— Transcript della presentazione:

1 Il linguaggio di scripting PHP

2 Il linguaggio di scripting PHP
Personal Home Page Nasce nel 1994 con la funzione di facilitare ai programmatori l'amministrazione delle home page personali. Oggi PHP è conosciuto come PHP: Hypertext Preprocessor, ed è un linguaggio completo di scripting, interpretato e di alto livello, sofisticato e flessibile. La sua sintassi è simile a quella del linguaggio C.

3 Il linguaggio di scripting PHP
PHP può girare praticamente su qualsiasi server Web, su qualsiasi sistema operativo e consente di interagire praticamente con qualsiasi tipo di database. Si può utilizzare per i più svariati tipi di progetti, dalla semplice home page dinamica fino al grande portale o al sito di e-commerce. La documentazione si trova su

4 Il linguaggio di scripting PHP
La funzione fondamentale del PHP è produrre codice HTML ma, essendo un linguaggio di programmazione, dà la possibilità di analizzare diverse situazioni e di produrre codice HTML condizionato ai risultati dell'elaborazione. Quando il server riceve una richiesta per una pagina php, la fa analizzare dall'interprete del PHP stesso, il quale restituisce un file contenente solo il codice HTML (più, eventualmente, javascript e CSS) che deve essere inviato al browser .

5 Il linguaggio di scripting PHP
I files php possono essere scritti con un qualunque editor di testo e devono avere estensione .php Si devono collocare in una directory accessibile al Web Server (la root o una sua sottodirectory). Nell'ultima versione di easyphp la directory è … /data/localweb Nelle precedenti versioni è …/www

6 Il linguaggio di scripting PHP
Le modalità di funzionamento dell'interprete sono definite nel file di configurazione di PHP: php.ini Vedi per esempio: engine=On short_open_tag=On precision=14

7 Il linguaggio di scripting PHP
Affinché l'interprete PHP possa riconoscere il codice php contenuto nel file che sta analizzando è necessario che questo sia compreso fra appositi tag di apertura e di chiusura: <?php tag di apertura ?> tag di chiusura Se short_open_tag=On si possono usare anche <? ?>.

8 Il linguaggio di scripting PHP
Tutto ciò che è contenuto fra i tag <?php e ?> deve corrispondere alle regole sintattiche del PHP, ed è codice che sarà eseguito dall'interprete e non sarà inviato al browser . Al browser viene inviato solo l'argomento delle funzioni di output di PHP: print e echo. Gestisce solo un input per volta ed è lento nella gestione di grandi stringhe Gestisce più input per volta ed è veloce nella gestione di grandi stringhe

9 Il linguaggio di scripting PHP
Esempio: <HTML> ... <BODY> <?php echo("Buongiorno <br> \n"); echo("E' una bellissima giornata"); ?> </BODY> INTERPRETE <HTML> ... <BODY> Buongiorno a tutti!<br> E' una bellissima giornata </BODY>

10 Sono ugualmente validi
Il linguaggio di scripting PHP Sono ugualmente validi echo("Buongiorno"); e echo "Buongiorno"; echo "a"; echo "b"; e echo "a","b"; ATTENZIONE: Ogni istruzione php deve terminare con ;

11 Il linguaggio di scripting PHP
Per inserire dei commenti all'interno del codice php posso utilizzare // o # commentano solo la riga in cui sono inseriti /* */ commenta tutto ciò che vi è racchiuso

12 Le costanti in PHP Una costante è un identificatore associato ad un valore scalare che non può cambiare durante l'esecuzione dello script. Le costanti sono globali, cioè visibili e definibili in qualunque punto dello script. L'identificatore di costante deve iniziare con _ o una lettera e NON deve essere preceduto dal simbolo $.

13 define(''nome_costante'', valore);
Le costanti in PHP Le costanti vengono definite tramite la funzione define(''nome_costante'', valore); e non tramite assegnazione. Non possono essere riassegnate né annullate. Utilità: la funzione get_defined_constants() restituisce, sotto forma di array associativo, l'elenco di tutte le costanti utilizzate di sistema e definite dall'utente.

14 Le variabili in PHP Il php è un linguaggio debolmente tipizzato.
Questo significa che NON è necessario provvedere alla dichiarazione delle variabili in quanto la tipizzazione avviene in maniera dinamica a seconda del contenuto della variabile stessa. Una stessa variabile può variare di tipo durante l'esecuzione dello script (conversione implicita). Per assegnare ad una variabile un tipo specifico è necessario fare il casting usando le opportune funzioni.

15 Le variabili in PHP Ci si riferisce alle variabili mediante un identificativo preceduto dal simbolo $. L'identificativo deve iniziare con una lettera e può contenere lettere, numeri, il carattere _ . ATTENZIONE: Il PHP è case sensitive.

16 Le variabili in PHP I principali tipi di variabili gestite dal php sono: Numeri interi (int) e floating point (float o double) Stringhe (string) Valori booleani (bool) Array (array) Oggetti (object)

17 Le variabili in PHP Il casting
Il casting di una variabile è la sua trasformazione da un tipo ad un altro. Può essere effettuato usando opportune funzioni di casting o semplicemente anteponendo il tipo, racchiuso tra parentesi tonde, alla variabile che si vuole trasformare. Rispetto ad altri linguaggi, il php consente una rapida conversione anche in array o oggetti.

18 Le variabili in PHP Il casting
Solo per il tipo stringa è possibile effettuare il casting racchiudendo il valore della variabile tra '' ''. Esempio: $a=1; $b=''$a'';

19 Le variabili in PHP Utilità:
La funzione var_dump(espressione) restituisce al browser le informazioni sul tipo e contenuto di una espressione. Le funzioni is_type (is_int, is_float, etc) consentono di testare se una certa variabile è di un certo tipo. La funzione isset consente di testare se una variabile abbia o meno un valore.

20 Le variabili in PHP Numeri interi
$a=5; $a=05 → base 8 $a=0x5 → base 16 L'intervallo dipende dalla piattaforma sulla quale si esegue il codice. Se si va in overload la variabile diventa automaticamente float.

21 Le variabili in PHP Numeri floating point $a=1.32
I decimali si rappresentano col punto e non con la virgola

22 Le variabili in PHP Numeri interi e floating point
Con le variabili di tipo numerico possono essere utilizzati i seguenti operatori aritmetici: OPERATORI BINARI DESCRIZIONE + Somma - Differenza * Moltiplicazione / Divisione % Modulo (Resto della divisione) OPERATORI BINARI DESCRIZIONE + Somma - Differenza * Moltiplicazione / Divisione % Modulo (Resto della divisione) OPERATORI UNARI DESCRIZIONE ++ Aggiunge 1 -- Toglie 1

23 Le variabili in PHP Numeri interi e floating point
Con le variabili di tipo numerico possono essere utilizzati i seguenti operatori di confronto: OPERATORE DESCRIZIONE == Uguale != Diverso < Minore > Maggiore <= Minore o uguale >= Maggiore o uguale

24 Le variabili in PHP Stringhe
Sono insiemi di caratteri da 8b=1B, quindi ammettono solo i caratteri ASCII e non la codifica UNICODE.

25 Le variabili in PHP Stringhe $a="Buongiorno"; $a='Buongiorno';
Esempio: $nome='Cristina'; $saluto="Buongiorno $nome"; $saluto='Buongiorno $nome'; Espande il contenuto delle variabili e i caratteri di escape NON espande il contenuto delle variabili e non ammette caratteri di escape Buongiorno Cristina Buongiorno $nome

26 Le variabili in PHP Stringhe
Se si vuole visualizzare un carattere speciale ($, ', ", \) lo si deve far precedere dal simbolo \. Le stringhe possono essere concatenate con altre stringhe o contenuto di variabili usando il punto . come operatore di concatenazione. Esempio: $nome='Cristina'; $saluto="Buongiorno ". $nome;

27 Le variabili in PHP Stringhe Uso delle parentesi {} $cibo='arrosto';
$a=cott; echo ''Vorrei $cibo ben $ao''; → non funziona perché la variabile $ao non esiste echo ''Vorrei $cibo {$a}o''; → funziona perché le {} racchiudono e separano la variabile dal resto

28 Le variabili in PHP Stringhe Uso delle parentesi {}
Le {} servono anche per indicizzare un carattere dentro una stringa (il primo carattere ha indice 0, l'ultimo strlen()-1) Esempio: $cibo='arrosto'; $a=$cibo{3}; echo ''$a''; → stampa o

29 Le variabili in PHP Talvolta è necessario usare il contenuto di una variabile di tipo stringa come identificatore di un'altra variabile. In questo caso si usa il simbolo $$. Esempio: $gatto = 'miao'; $nome = 'gatto'; print (Il $nome fa $$nome.'<br>');

30 Le variabili in PHP Valori Booleani
Sono TRUE (1 di default o numeri diversi da 0) e FALSE (0, 0.0, stringa vuota). Per unire più espressioni logiche si possono usare gli operatori logici: OPERATORE DESCRIZIONE ! NOT && AND || OR xor XOR

31 Le variabili in PHP Array
In PHP un array è una variabile che contiene un insieme di valori (anche eterogenei) identificati da un indice. In php non è necessario precisare la dimensione dell'array ed il tipo di dato, infatti è una struttura dati dinamica ed eterogenea. $array[] oppure $array[3] → sono errori

32 Le variabili in PHP Array
Array con chiave numerica → l'indice è un numero che parte da 0 Array con chiave associativa → l'indice è una stringa (scritta tra '' '')

33 Le variabili in PHP Array numerici
L'assegnazione dei valori può avvenire: separatamente per ogni elemento $nomi[0]=''Maria''; $nomi[1]=''Cristina''; in forma compatta $nomi=array(''Maria'', ''Cristina'');

34 Le variabili in PHP Array associativi
L'assegnazione dei valori può avvenire: separatamente per ogni elemento $dati[nome]=''Maria Cristina''; $dati[cognome]=''Carrisi''; in forma compatta $dati=array(''nome'' =>''Maria'', ''cognome'' =>''Cristina'');

35 Le variabili in PHP Array
Se si inseriscono alcuni elementi in un array e poi si assegna un elemento senza precisare l'indice esso verrà assegnato collocandolo nella posizione successiva al maggiore indice numerico assegnato.

36 Le variabili in PHP Array Utilità:
La funzione count($nome_array) restituisce il numero di elementi dell'array in input. unset($nome_variabile) serve per liberare la locazione di memoria destinata ad una certa variabile. Si può usare su tutte le variabili ma è utile sopratutto per liberare array molto grandi non più da utilizzare. Ogni script può usare solo una certa quantità di memoria, quindi è necessario stare attenti a non terminarla.

37 Le variabili in PHP Array Utilità:
Le funzioni next($nome_array) e prev($nome_array) spostano il puntatore di posizione rispettivamente avanti e indietro di una posizione. end($nome_array) posiziona il puntatore nell'ultima posizione dell'array. Le funzioni key($nome_array) e current($nome_array) restituiscono chiave e contenuto della posizione attuale dell'array.

38 Le variabili in PHP Ordinamento di Array
Il php mette a disposizione varie funzioni di ordinamento: sort() → ordina il vettore su se stesso perdendo le chiavi associative e definendo indici numerici secondo l'ordinamento. asort() → ordina mantenendo le chiavi associative ksort() → ordina secondo la chiave e non secondo i dati rsort() → come sort() ma in ordine inverso. rasort() → come asort() ma in ordine inverso.

39 Le variabili in PHP Array multidimensionali
Un elemento di un array può essere ancora un array. In questo modo si potrebbero definire strutture dati n-dimensionali. Nella pratica si definiscono generalmente array al massimo del secondo ordine.

40 Le variabili in PHP Array multidimensionali Esempio:
$zoo = array(“gatto”=>array(“nome”=>“Fufi”,”verso”=>”Miao”), “cane”=>array(“nome”=>”Fido”,”verso”=>”Bau”)); chiave elementi valore gatto nome Fufi Verso Miao cane Fido verso Bau

41 Le variabili in PHP Array multidimensionali
$zoo = array(“gatto”=>array(“nome”=>“Fufi”,”verso”=>”Miao”), “cane”=>array(“nome”=>”Fido”,”verso”=>”Bau”)); Il singolo elemento è raggiungibile mediante le sue chiavi. $zoo[cane][verso] → Bau $zoo[gatto][nome] → Fufi

42 Le variabili in PHP Array multidimensionali
$macchine = array(array(“nome”=>“Volvo”,”magazzino”=>20, “vendute”=>15), array(“nome”=>”BMW”,”magazzino”=>”10”,”vendute”=>3)); Il singolo elemento è raggiungibile mediante le sue chiavi. $macchine[0][nome] → Volvo $macchine[1][vendute] → 3

43 Le variabili in PHP Array multidimensionali
$alunni = array(array(“Mario”,“Manca”,”3D”), array(“Paolo”, ”Piras”,”4A”)); Il singolo elemento è raggiungibile mediante le sue chiavi. $alunni[0][2] → 3D $alunni[1][0] → Paolo

44 Le strutture di controllo
Il php è un linguaggio strutturato e, secondo il Teorema di Jacopini-Bohm, deve assicurare la possibilità di eseguire le tre strutture fondamentali della programmazione strutturata: Sequenza Selezione Iterazione

45 Le strutture di controllo
La selezione E' implementata dalle parole chiave: if (condizione) istruzione1; else Istruzione2; L'else può anche essere omesso ed in questo caso si ha una selezione ad una via.

46 Le strutture di controllo
La selezione Se le istruzioni da eseguire in caso la condizione sia vera (o falsa) sono più d'una, esse devono essere racchiuse tra parentesi {}. Oppure si possono omettere le parentesi {} adottando la seguente sintassi: if (condizione): istruzione1; else: istruzione2; endif;

47 Le strutture di controllo
Selezioni annidate Nell'ambito delle selezioni annidate il php mette a disposizione il costrutto elseif: if (condizione) Istruzione1; elseif (condizione2) Istruzione2; else Istruzione3; Viene eseguito solo se la condizione2 è vera

48 Le strutture di controllo
Selezioni a cascata Nell'ambito delle selezioni a cascata il php mette a disposizione il costrutto switch-case: switch ($variabile) {case ''valore 1'': istruzione 1; break; …. ... case ''valore n'': istruzione n; break; default: istruzioni break;}

49 Le strutture di controllo
Selezioni a cascata Attenzione: Se si omette il break non verrà rilevato un errore di sintassi ma saranno eseguite tutte le istruzioni contenute nei successivi blocchi case, fino al primo break. Esempio: Switchcase.php

50 Le strutture di controllo
Iterazione Nell'ambito delle iterazioni indefinite il php mette a disposizione le iterazioni Precondizionata while (condizione) {istruzioni;} Post-condizionata do {istruzioni;} while (condizione);

51 Le strutture di controllo
Iterazione Oppure Precondizionata while (condizione): istruzioni; endwhile;

52 Le strutture di controllo
Iterazione Nell'ambito delle iterazioni definite il php mette a disposizione l'iterazione Definita con indice for (inizializzazione indice; condizione; variazione indice) {istruzioni;} Possono essere più d'una, separate dalla virgola

53 Le strutture di controllo
Iterazione Nell'ambito delle iterazioni definite il php mette a disposizione l'iterazione Definita senza indice foreach ($array as $key => $val) è opzionale {istruzioni;} Viene scorso l'intero array. Ogni coppia chiave-valore viene allocata nelle variabili $key e $val.

54 Le strutture iterative e gli array
Le strutture di controllo Le strutture iterative e gli array Per scorrere un array numerico è possibile utilizzare una qualunque struttura iterativa messa a disposizione dal linguaggio. Per gli array associativi è invece necessario usare un definito senza indice o un ciclo indefinito e le funzioni list e each.

55 Le strutture iterative e gli array
Le strutture di controllo Le strutture iterative e gli array each($array) → restituisce la coppia chiave-valore ed incrementa di 1 il puntatore di posizione. Per poter scorrere ancora l'array dall'inizio bisogna far ripartire il puntatore usando la funzione reset($array) che riposiziona il puntatore di posizione in testa all'array.

56 Le strutture iterative e gli array
Le strutture di controllo Le strutture iterative e gli array list($var1, $var2,…) = $array → riceve i dati di un array numerico e li colloca ordinatamente dentro le variabili che ne costituiscono i parametri. Possono essere assegnate tutte le componenti dell'array o solo una parte.

57 Le strutture iterative e gli array
Le strutture di controllo Le strutture iterative e gli array Esempio: $info = array('caffè', 'scuro', 'caffeina'); // assegna a tutte le variabili list($bevanda, $colore, $componente) = $info; // assegna solo in parte list($bevanda, , $componente) = $info;

58 Le strutture iterative e gli array
Le strutture di controllo Le strutture iterative e gli array Attenzione: List non funziona con stringhe ma con variabili stringa. List non restituisce errore se la variabile contiene più dati rispetto ai parametri, semplicemente taglia i valori in eccesso. List restituisce errore se la variabile contiene meno valori dei parametri.

59 Le strutture iterative e gli array
Le strutture di controllo Le strutture iterative e gli array Per poter scorrere un array associativo mediante un ciclo indefinito si può usare il seguente frammento di codice: while(list($chiave,$valore)=each($array)) {istruzioni;} ...

60 Le strutture iterative e gli array multidimensionali
Le strutture di controllo Le strutture iterative e gli array multidimensionali Per poter scorrere un array multidimensionale è necessario usare più strutture iterative anidate. while(list($chiave1,$valore1)=each($array)) while(list($chiave2,$valore2)=each($valore1)) {istruzioni;} chiave elementi valore gatto nome Fufi Verso Miao cane Fido verso Bau

61 Le strutture iterative e gli array multidimensionali
Le strutture di controllo Le strutture iterative e gli array multidimensionali Per poter scorrere un array multidimensionale è necessario usare più strutture iterative anidate. foreach ( $array as $chiave1 =>$valore1) foreach ( $valore1 as $chiave2=>$valore2) {istruzioni;} chiave elementi valore gatto nome Fufi Verso Miao cane Fido verso Bau

62 Visibilità delle variabili
Durante l'esecuzione di uno script php si generano delle variabili visibili in tutto lo script, dette variabili superglobali o d'ambiente: $_GET $_POST $_COOKIE: un array contenente tutti i cookie validi nella pagina corrente con il rispettivo valore; $GLOBALS: un array contenente tutte le variabili che risultano globali nello scope corrente;

63 Visibilità delle variabili
$_SERVER: un array contenente delle variabili impostate dal Web Server oppure direttamente legate all’ambiente di esecuzione dello script corrente (come ad esempio il browser dell’utente o il suo indirizzo IP). Tra le variabili di questo array le più utili sono: PHP_SELF: il nome del file dello script correntemente in esecuzione; DOCUMENT_ROOT: la root da cui viene eseguito lo script corrente; REMOTE_ADDR: l’indirizzo IP dell’utente che sta eseguendo lo script. (Valore impostato dal browser, non andrebbe utilizzato in situazioni di sicurezza critiche)

64 Visibilità delle variabili
$_ENV: un array contenente tutte le variabili d’ambiente accessibili da PHP; $_SESSION: un array contenente tutte le variabili di sessione accessibili dalla pagina corrente;

65 Script che richiama se stesso
Visibilità delle variabili Script che richiama se stesso $_SERVER [ 'PHP_SELF'] è una variabile d'ambiente supportata da tutte le piattaforme che indica il nome del file su cui è attualmente in esecuzione lo script PHP rispetto alla root del Web server. Rende il codice di un form generale e riutilizzabile senza dover cambiare l'argomento riferito all'ACTION.

66 Script che richiama se stesso
Visibilità delle variabili Script che richiama se stesso ... <form action=”<?php echo $_SERVER[\”PHP_SELF\”]; ?> ...> <?php if(isset($_POST[nome del bottone submit])) { …} ?>

67 Permanenza dei dati I cookies
I cookies sono dati che vengono mandati dal server e memorizzati in una precisa directory del client. Consentono di conservare dei dati in maniera “permanente”. setcookie(nome, valore); A questo punto la variabile è disponibile nell'array $_COOKIES[].


Scaricare ppt "Il linguaggio di scripting PHP"

Presentazioni simili


Annunci Google