La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmazione Web PHP - Introduzione 1. PHP: Hypertext Preprocessor è un linguaggio di programmazione utilizzato prevalentemente per la programmazione.

Presentazioni simili


Presentazione sul tema: "Programmazione Web PHP - Introduzione 1. PHP: Hypertext Preprocessor è un linguaggio di programmazione utilizzato prevalentemente per la programmazione."— Transcript della presentazione:

1 Programmazione Web PHP - Introduzione 1

2 PHP: Hypertext Preprocessor è un linguaggio di programmazione utilizzato prevalentemente per la programmazione di pagine Web Alcune caratteristiche “tecniche” è un linguaggio di scripting è interpretato (non compilato) è server-side è debolmente tipizzato consente la programmazione Object Oriented Ed inoltre.. è Open Source Cos’è il PHP? 2Programmazione Web - PHP: introduzione

3 Il codice PHP viene inserito in una pagina (X)HTML (sul server) Il codice PHP viene interpretato (sul server) Viene generata una nuova pagina (X)HTML Esecuzione di codice PHP Form (X)HTML action==“file.php” Nuova pagina (X)HTML Interpretazione “file.php” MySQL clientserver  3Programmazione Web - PHP: introduzione 1

4 Uno script PHP è salvato in un file di testo avente come estensione.php Per esempio: Salviamo il tutto in un file dal nome ciao.php all’interno della root del nostro Web server: la pagina sarà quindi accessibile all’indirizzo Preparare il tutto 4Programmazione Web - PHP: introduzione

5 Il codice PHP è racchiuso tra due tag Le istruzioni PHP terminano con il punto e virgola I commenti hanno tre diversi stili Struttura del codice PHP (I) echo 'Hello '; echo 'world!'; /* Autore: Devis Bianchini Ultima modifica: 15 aprile 2011 */ echo ' Ordine gestito. '; // Inizio stampa ordine echo ' Ordine gestito. '; # Inizio stampa ordine 5Programmazione Web - PHP: introduzione

6 Notazione alternativa Struttura del codice PHP (II)... codice PHP... 6Programmazione Web - PHP: introduzione

7 Esempio: gestione di un ordine 7Programmazione Web - PHP: introduzione

8 Esempio: gestione di un ordine 8Programmazione Web - PHP: introduzione

9 Esempio: processa_modulo_ordine.php 9Programmazione Web - PHP: introduzione

10 Esempio: gestione di un ordine 10Programmazione Web - PHP: introduzione

11 Nome di una variabile (identificatore): Inizia con il simbolo $ Formato da lettere, cifre e underscore ‘_’ Lunghezza illimitata Non può iniziare con una cifra Case sensitive: $qviolino  $Qviolino Una variabile viene creata nel momento in cui viene assegnata la prima volta Variabili $quantita = 0; $costo = 0.00;... $quantita = $qviolino; 11Programmazione Web - PHP: introduzione

12 Esistono altri due tipi “speciali”: NULL : variabili cui non è assegnato un valore o sono state assegnate con NULL Resource : rappresentano risorse esterne (esempio: connessione al database) Tipi di variabili TipoNatura del dato integer Numeri interi double Numeri reali string Stringhe di caratteri boolean Valori logici ( true o false ) array Vettori di dati 12Programmazione Web - PHP: introduzione

13 Tipi di variabili: array (I) 13Programmazione Web - PHP: introduzione

14 Tipi di variabili: array (II) 14Programmazione Web - PHP: introduzione

15 Le variabili sono molto “elastiche” nell’assegnamento del tipo di dati Casting Tipizzazione in PHP $quantita = 0; $quantita = ‘Hello’; $quantita = 0; $costo = (double)$quantita; 15Programmazione Web - PHP: introduzione

16 Mantengono un valore (come una variabile), che però non può essere cambiato Costanti define('PREZZO_FLAUTO', 2500); define('PREZZO_VIOLINO', 8000); define('PREZZO_OBOE', 5400); define('PREZZO_LIUTO', 11000); define(, ) 16Programmazione Web - PHP: introduzione

17 PHP mette a disposizione un gran numero di variabili predefinite Sono principalmente dedicate a descrivere il server su cui è in funzione, le richieste HTTP, variabili dell’ambiente di esecuzione Alcune variabili predefinite possono essere dipendenti dalla piattaforma Variabili predefinite Link a me stesso \n”; ?> 17Programmazione Web - PHP: introduzione

18 È possibile inserire direttamente una variabile semplice in una stringa Tuttavia, le stringhe tra apici semplici non applicano alcuna sostituzione: Lavorare con le variabili echo "$qoboe oboe "; echo ‘$qoboe oboe ’; 2 oboe $qoboe oboe 18Programmazione Web - PHP: introduzione

19 L’accesso ai campi del modulo può avvenire mediante l’uso di array associativi: method="post“  $_POST['qviolino'] method="get“  $_GET['qviolino'] Accesso alle variabili del modulo (I) 'qflauto'2 'qviolino'3 'qoboe'2 'qliuto'4 19Programmazione Web - PHP: introduzione

20 I valori dei campi del modulo possono essere copiati in altre variabili Accesso alle variabili del modulo (II) 20Programmazione Web - PHP: introduzione

21 L’operatore. (punto) genera la concatenazione delle stringhe Accesso alle variabili del modulo (III) 21Programmazione Web - PHP: introduzione

22 Esempio: gestione di un ordine 22Programmazione Web - PHP: introduzione

23 Operatori aritmetici Operatore di concatenazione delle stringhe Operatori (I) $a = 'Strumenti Musicali '; $b = 'in Franciacorta'; $titolo = $a. $b; 23Programmazione Web - PHP: introduzione

24 Operatore di assegnamento Operatori di assegnamento combinato Operatori (II) $b = 6 + ($a= 5); = 24Programmazione Web - PHP: introduzione

25 Operatore di incremento (++) e decremento (--) Sono entrambi disponibili in due forme Prima della variabile Dopo la variabile Operatori (III) $a= 5; echo ++$a; $a= 5; echo $a++; prima $a viene incrementato (6) e poi visualizzato (6) prima $a viene visualizzato (5) e poi Invìcrementato (6) $a= 3; $b = 6; echo ($a--) * (++$b); $a: 2 $b: 7 echo: 21 25Programmazione Web - PHP: introduzione

26 Operatore di confronto Operatore identità: operandi uguali e dello stesso tipo Operatori (IV) $a= 0; $b = ‘0’; $a == $b: true $a === $b: false 26Programmazione Web - PHP: introduzione

27 Operatori logici Operatori (V) 27Programmazione Web - PHP: introduzione

28 Operatore condizionale (ternario) Operatori (VI) ( ? : ) echo ($voto >= 18 ? 'promosso' : 'bocciato') $max = ($a >= $b ? $a : $b) $max3 = ($a >= $b && $a >= $c ? $a : ($b >= $c ? $b : $c)) echo 'Hai ordinato '.$qviolino.' violin‘.($qviolino == 1 ? 'o' : 'i') 28Programmazione Web - PHP: introduzione

29 Alcune conversioni di tipo avvengono automaticamente in base agli operatori utilizzati nelle espressioni La conversione non modifica il tipo degli operandi, che rimangono inalterati Type juggling 29Programmazione Web - PHP: introduzione

30 Alcuni operatori sono tipici del linguaggio PHP controllo degli : premettendo tale operatore ad un’espressione eventuali messaggi di errore non sono visualizzati esecuzione di script della shell ` (apice rovesciato o backtick): il testo tra apici rovesciati viene interpretato come comando della shell, eseguito ed eventualmente assegnato ad una variabile Altri operatori 30Programmazione Web - PHP: introduzione

31 Esempio: gestione di un ordine 31Programmazione Web - PHP: introduzione

32 Esempio: gestione di un ordine 32Programmazione Web - PHP: introduzione

33 Per testare o modificare lo stato di una variabile si possono usare le seguenti funzioni: isset($var) : true se $var esiste, altrimenti false isset($a, $b, $c,... ) : true se tutte esistono, altrimenti false unset($var) : elimina $var empty($var) : true se $var non esiste o ha valore zero, altrimenti false Funzioni di variabili $qviolino = 3; echo 'echo1: '. isset($qviolino). ' '; // TRUE echo 'echo2: '. isset($qtimpani). ' '; // FALSE echo 'echo3: '. empty($qviolino). ' '; // FALSE echo 'echo4: '. empty($qtimpani). ' '; // TRUE 33Programmazione Web - PHP: introduzione

34 is_boolean($a) : verifica se la variabile contiene un valore booleano is_integer($a) : verifica se la variabile contiene un numero intero is_float($a), is_double($a), is_array($a), is_resource($a) is_null($a) : verifica se la variabile contiene il valore null is_numeric($a) : verifica se il contenuto della variabile è compatibile con un valore numerico (ossia se è un numero o una stringa convertibile in numero) gettype($a) : restituisce il nome del tipo della variabile sotto forma di stringa Funzioni di accesso al tipo 34Programmazione Web - PHP: introduzione

35 Il blocco viene eseguito solo se è vera L’istruzione if if($quantita_totale == 0) echo 'Non hai ordinato alcun articolo! '; if( ) if($costo_totale >= 30000) { echo 'Hai diritto ad uno sconto del 10% '; } 35Programmazione Web - PHP: introduzione

36 Il blocco viene eseguito solo se la condizione del precedente if è falsa L’istruzione else if($quantita_totale == 0) echo "Non hai ordinato alcun articolo! "; else { echo 'Ecco la lista degli articoli: '; echo ' '; echo " $qflauto flauti "; echo " $qviolino violini "; echo " $qoboe oboe "; echo " $qliuto liuti "; echo " "; } else 36Programmazione Web - PHP: introduzione

37 È usato quando si hanno più di due rami decisionali: Viene eseguito solo il blocco di istruzioni corrispondente alla prima condizione vera Se nessuna condizione vera, viene eseguito il blocco della else (se specificata) L’istruzione elseif if($costo_totale <= 10000) $sconto = 0.0; elseif($costo_totale > && $costo_totale <= 20000) $sconto = 0.10; elseif($costo_totale > && $costo_totale <= 40000) $sconto = 0.20; elseif($costo_totale > && $costo_totale <= 80000) $sconto = 0.25; else $sconto = 0.30; elseif ) 37Programmazione Web - PHP: introduzione

38 Il costrutto switch permette di diversificare l’operato del programma al valore dell’espressione testata L’istruzione switch switch ( ) { case : break;.... default: ; break; } switch ($nome) { case 'Luca': case 'Giorgio': case 'Franco': echo "Ciao, vecchio amico!"; break; case 'Mario': echo "Ciao, Mario!"; break; default: print "Benvenuto, chiunque tu sia"; } 38Programmazione Web - PHP: introduzione

39 Sono utilizzate quando è necessario eseguire più volte lo stesso blocco di istruzioni Iterazioni 39Programmazione Web - PHP: introduzione

40 Sono utilizzate quando è necessario eseguire più volte lo stesso blocco di istruzioni Iterazioni 40Programmazione Web - PHP: introduzione

41 Il blocco viene eseguito fino a quando è vera Ciclo while while( ) 41Programmazione Web - PHP: introduzione

42 Il significato è esprimibile in termini di ciclo while come segue Ciclo for for( ; ; ) ; while( ) { ; } 42Programmazione Web - PHP: introduzione

43 Il significato è esprimibile in termini di ciclo while come segue Ciclo for for( ; ; ) ; while( ) { ; } 43Programmazione Web - PHP: introduzione

44 È simile al ciclo while, ma viene testata dopo l’esecuzione di Ciclo do..while do while ( ) 44Programmazione Web - PHP: introduzione

45 Il ciclo si ripete tante volte quanti sono gli elementi dell’array e all’interno del ciclo ogni volta è disponibile, nella variabile $valore, il valore dell’elemento corrispondente all’iterazione Questa versione è particolarmente utile per gli array associativi; oltre al valore è presente anche la chiave dell’elemento, presente nella variabile $chiave Ciclo foreach foreach( array as $valore ) istr 45Programmazione Web - PHP: introduzione foreach( array as $chiave=>$valore ) istr

46 Funzioni 46Programmazione Web - PHP: introduzione function nome_funzione ($arg1, $arg2) { // codice della funzione (corpo) // l’istruzione return serve per restituire un valore // come risultato ed è opzionale return ; }

47 Funzioni con argomenti di default 47Programmazione Web - PHP: introduzione function nome_funzione ($arg1, $arg2=“default”) { // codice della funzione (corpo) return ; }... $ris1 = nome_funzione(“primo”,”secondo”); // senza l’uso del // default $ris2 = nome_funzione(“primo”);// con l’uso del default

48 Argomento della funzione date() = stringa che specifica il formato: H = ore (in formato 24-ore) i = minuti j = giorno del mese S = suffisso ordinale (tipicamente, th) F = nome del mese Esempio: gestione di un ordine Strumenti Musicali in Franciacorta Gestione Ordine 48Programmazione Web - PHP: introduzione

49 Esempio: gestione di un ordine 49Programmazione Web - PHP: introduzione

50 La visibilità (o scope) di una variabile $v è la porzione del codice in cui è visibile $v : Le variabili superglobali sono visibili ovunque nello script (es., $_GET, $_POST, $_SERVER ) Le costanti sono visibili ovunque nello script Le variabili globali sono visibili ovunque nello script, tranne che nelle funzioni Le variabili dichiarate globali nelle funzioni si riferiscono alle omonime variabili dichiarate globali fuori delle funzioni Le variabili dichiarate statiche in una funzione sono visibili solo nella funzione ma mantengono il loro valore tra una chiamata e l’altra della funzione Le variabili locali create in una funzione sono visibili solo nelle funzione e scompaiono al termine della esecuzione della funzione Visibilità 50Programmazione Web - PHP: introduzione

51 Visibilità: esempio 51Programmazione Web - PHP: introduzione $a = 1; function nome_funzione () { global $a; // senza questa riga la funzione non stampa // niente echo $a; }... nome_funzione();

52 Nel linguaggio PHP il concetto di classe è quello tradizionale dei linguaggi di programmazione ad oggetti Classi e oggetti 52Programmazione Web - PHP: introduzione

53 53 Esempio Le variabili di stato della classe saranno disponibili a tutti i metodi della classe stessa tramite l’uso del prefisso speciale $this-> Programmazione Web - PHP: introduzione

54 Una volta definita la struttura della classe, è possibile istanziare uno o più oggetti di quel tipo lasciando i valori di default specificando nuovi parametri al momento dell’istanziazione Istanziazione 54Programmazione Web - PHP: introduzione

55 Dopo aver istanziato la classe, i metodi della classe possono essere invocati per andare a modificare le variabili di stato della classe stessa le invocazioni dei metodi su una istanza sono indipendenti dalle invocazioni di metodi su istanze diverse Invocazione dei metodi di una classe 55Programmazione Web - PHP: introduzione

56 La gestione delle classi e della programmazione ad oggetti è stata enormemente potenziata nell’ultima versione di PHP (PHP 5) sono stati introdotti i modificatori di visibilità private, public e protected, su cui valgono le comuni regole della programmazione a oggetti sono stati introdotti i metodi _construct (nome univoco per il costruttore) e _destruct (nome univoco metodo distruttore) è possibile passare gli oggetti per riferimento e non per valore PHP 5 e oggetti (I) 56Programmazione Web - PHP: introduzione

57 In PHP 5 è stato anche potenziato il meccanismo dell’ereditarietà (parola chiave extends ) sono state introdotte le interfacce è stato introdotto l’operatore instance of è possibile definire metodi e classi come final è stato introdotto l’uso di static per definire proprietà e metodi statici PHP 5 e oggetti (II) 57Programmazione Web - PHP: introduzione

58 PHP 5 ha introdotto un nome standardizzato per i costruttori, _construct se la classe viene rinominata, non è necessario modificare anche il nome del suo costruttore Una grossa novità in PHP 5 è l’introduzione del metodo distruttore, _destruct() utile per operazioni di pulizia, come l’eliminazione di file temporanei o la chiusura di connessioni a database (garbage collection) la garbage collection avviene nel momento in cui viene eliminato l’ultimo riferimento all’oggetto Costruttori e distruttori 58Programmazione Web - PHP: introduzione

59 Esempio 59Programmazione Web - PHP: introduzione

60 Grazie all’uso delle interfacce, viene superato il vincolo dell’ereditarietà da una singola classe; infatti una classe può implementare più interfacce Interfacce 60Programmazione Web - PHP: introduzione

61 Viene utilizzato per verificare la classe di un oggetto L’operatore instance of 61Programmazione Web - PHP: introduzione

62 Se un metodo è dichiarato final, non può essere effettuato per esso l’overload dalle classi che lo ereditano Se una classe è dichiarata come final, non può essere sottoposta al meccanismo dell’ereditarietà Metodi e classi final 62Programmazione Web - PHP: introduzione

63 Metodi e proprietà static 63Programmazione Web - PHP: introduzione

64 L’inclusione di codice PHP in altri file avviene tramite la funzione require( nome_file) Per evitare di includere un file più volte, si usa require_once Riuso del codice PHP (I) 64 inclusione.php main.php Programmazione Web - PHP: introduzione

65 Riuso del codice PHP (I) 65Programmazione Web - PHP: introduzione

66 Riuso del codice PHP (II) 66 inclusione.php main.php header.php footer.php Programmazione Web - PHP: introduzione

67 Nelle ultime versioni del PHP non viene fatta nessuna distinzione tra l’uso di require e di include, entrambe le funzioni servono per includere file esterni e hanno la medesima sintassi Le due funzioni in realtà si comportano in modo diverso solo nel caso in cui ci siano degli errori di inclusione del file include( nome_file ) restituisce un warning, mentre lo script prosegue require( nome_file ) segnala l’errore e blocca lo script entrambe le funzioni hanno l’estensione _once per evitare il caricamento multiplo dello stesso file require vs include 67Programmazione Web - PHP: introduzione

68 Se definita, la funzione _autoload viene automaticamente chiamata qualora si stia cercando di istanziare una classe non ancora definita La funzione _autoload 68Programmazione Web - PHP: introduzione

69 Esempi: riuso del codice in PHP Programmazione Web - PHP: introduzione

70 70 Definizione di paragrafi (p) Funzione che genera il codice XHTML di un paragrafo (tag ) Programmazione Web - PHP: introduzione

71 71 Definizione di intestazioni (h) Funzione che genera il codice XHTML di una intestazione (tag, valore di default pari a 1) Programmazione Web - PHP: introduzione

72 72 Definizione di interruzioni di riga (br) Funzione che genera il codice XHTML di un certo numero di interruzioni di riga (tag, valore di default pari a 1) Programmazione Web - PHP: introduzione

73 73 Definizione di link (a) Funzione che genera il codice XHTML di un link ipertestuale (tag ) Programmazione Web - PHP: introduzione

74 74 Definizione di link (img) Funzione che genera il codice XHTML di una immagine (tag ) Programmazione Web - PHP: introduzione

75 75 Definizione di liste non ordinate (ul) Funzione che genera il codice XHTML di una lista non ordinata (tag e ) Analogo per le liste ordinate (tag ) Programmazione Web - PHP: introduzione

76 76 Definizione di moduli (form) Funzione che genera il codice XHTML di un modulo (tag ) Programmazione Web - PHP: introduzione

77 77 Definizione di campi in un modulo Funzione che genera il codice XHTML di un pulsante di invio ( submit ) Analogo per gli altri tipi di campi Programmazione Web - PHP: introduzione

78 78 Definizione di tabelle (table) Funzione che genera il codice XHTML di una tabella (tag ) Programmazione Web - PHP: introduzione

79 79 Generazione veloce della pagina XHTML Programmazione Web - PHP: introduzione

80 80 Esempio Programmazione Web - PHP: introduzione

81 81 Esempio Programmazione Web - PHP: introduzione

82 Gestione delle eccezioni con try/throw/catch Altre novità in PHP 5 82Programmazione Web - PHP: introduzione


Scaricare ppt "Programmazione Web PHP - Introduzione 1. PHP: Hypertext Preprocessor è un linguaggio di programmazione utilizzato prevalentemente per la programmazione."

Presentazioni simili


Annunci Google