PHP5
prima parte - i fondamenti del linguaggio

             Gianfranco Fedele
            Analista programmatore

       ...
PHP5: Introduzione a PHP


• È un linguaggio di programmazione di tipo scripting
  (come, Bash, Javascript, Perl, …), ed è...
PHP5: Paradigma Web con PHP / 1


                                 Web                                         Server
    ...
PHP5: Paradigma Web con PHP / 2

•   Dinamicità “lato client”
     –   Presentazione dinamica: interazione con i contenuti...
PHP5: Paradigma Web con PHP / 3

•   Dinamicità “lato server”
     –   Possibilità di generare tutti i contenuti dinamicam...
PHP5: Il Web 2.0 - cenni

•   Ajax - Asynchronous JavaScript and XML
    utilizza una combinazione di:
     –    HTML (o X...
PHP5: Caratteristiche di PHP

•    Punti di forza del PHP:
      –   È semplice (HTML embedded).
      –   È open source (...
PHP5: phpinfo()

•    Per verificare che PHP sia correttamente installato e funzionante sul server:
      – Interrogare un...
PHP5: Sintassi

•   Per inserire il codice PHP all’interno delle pagine web (HTML) si utilizzano
    speciali tag:
     – ...
PHP5: Commenti

•   I commenti sono indispensabili per una programmazione chiara degli script
    PHP:




    <?php
    /...
PHP5: Variabili / 1

•    In PHP il nome di una variabile può contenere solo caratteri alfanumerici e
     l’underscore (_...
PHP5: Variabili / 2

•    La funzione isset(var) restituisce vero (TRUE) se la variabile esiste, falso
     (FALSE) in cas...
PHP5: Costanti

•   Le costanti vengono impostate manualmente usando l'istruzione define().
•   Per controllare che una co...
PHP5: Tipi di dati / 1

•   I tipi in PHP si dividono in:
     –   Tipi semplici: booleani, interi, numeri a virgola mobil...
PHP5: Tipi di dati / 2


•   Per determinare il tipo di una variabile:
     –   gettype(var) restituisce una descrizione d...
PHP5: Tipo boolean


•   Una variabile booleana può assumere solo due valori di verità: TRUE e
    FALSE (valori costanti)...
PHP5: Tipo stringa


•   Una stringa, è una sequenza di caratteri.

•   Una lista di tutte le funzioni per l’analisi e la ...
PHP5: Interpolazione


•   Le stringhe racchiuse da apici singoli rappresentano esattamente ciò che
    esse contengono.
•...
PHP5: Tipo array / 1


•   Un array è una collezione di valori individuati da un nome e da un indice.

•   L'indice può es...
PHP5: Tipo array / 2


•   Un array può essere creato utilizzando il costrutto array() oppure lo si può
    creare implici...
PHP5: Array multidimensionali


•   Un array non è vincolato a contenere informazioni dello stesso tipo. Neppure
    se si...
PHP5: Tipo object

•   PHP supporta il paradigma di programmazione a oggetti mediante il tipo
    object per le istanze di...
PHP5: Casting e conversione


•    La conversione dei tipi in PHP nella maggior parte dei casi avviene in modo
     implic...
PHP5: Operatori aritmetici


•   Sono gli operatori delle operazioni aritmetiche basilari.

                 Esempio      ...
PHP5: Concatenazione di stringhe


•     L’operatore di concatenazione delle stringhe è “.“


    // nome e cognome
    $n...
PHP5: Operatori di confronto

•   Tra gli operatori di confronto classici, si noti la differenza tra gli operatori:

    =...
PHP5: Operatori logici

•   Gli operatori logici consentono di legare tra loro diverse condizioni,
    costruendone di nuo...
PHP5: Operatori combinati

•   L‘opertore = non è l’unico operatore di assegnazione disponibile in PHP.


                ...
PHP5
    prima parte - FINE

       Gianfranco Fedele
      Analista programmatore

     gianfrasoft@gmail.com
   gianfras...
Upcoming SlideShare
Loading in...5
×

Gianfrasoft Corso Di Php Parte 1

684

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
684
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Gianfrasoft Corso Di Php Parte 1

  1. 1. PHP5 prima parte - i fondamenti del linguaggio Gianfranco Fedele Analista programmatore gianfrasoft@gmail.com gianfrasoft.wordpress.com www.linkedin.com/in/gianfrasoft
  2. 2. PHP5: Introduzione a PHP • È un linguaggio di programmazione di tipo scripting (come, Bash, Javascript, Perl, …), ed è caratterizzato da: – Codice iterpretato (non compilato). – Tipizzazione debole (casting implicito). – È HTML embedded. – È un linguaggio procedurale con estensioni ad oggetti. • È un linguaggio di programmazione utilizzato per lo sviluppo di pagine web dinamiche “lato server”. gianfrasoft.wordpress.com - 2008
  3. 3. PHP5: Paradigma Web con PHP / 1 Web Server Browser client page HTTP Server Richiesta GET/POST PHP files DB • Il client richiede al server di elaborare una pagina HTML contenente script PHP. • L'esecuzione ha come risultato una pagina di solo HTML. • Il server invia la pagina ottenuta al browser per la visualizzazione. gianfrasoft.wordpress.com - 2008
  4. 4. PHP5: Paradigma Web con PHP / 2 • Dinamicità “lato client” – Presentazione dinamica: interazione con i contenuti ricevuti dal server. – Tecnologie: • Javascript + DOM. • Applet Java. • Flash. • ... gianfrasoft.wordpress.com - 2008
  5. 5. PHP5: Paradigma Web con PHP / 3 • Dinamicità “lato server” – Possibilità di generare tutti i contenuti dinamicamente • prelevando informazioni da diverse sorgenti (file, DB, Internet, ...). • processando testo e immagini. • gestendo profili e sessioni. • ... – Tecnologie: • Common Gateway Interface (CGI). • Scriptlet (PHP, Perl, ASP, JSP, …). • Linguaggi HTML-Embedded (PHP, ASP, JSP) gianfrasoft.wordpress.com - 2008
  6. 6. PHP5: Il Web 2.0 - cenni • Ajax - Asynchronous JavaScript and XML utilizza una combinazione di: – HTML (o XHTML) e CSS per il markup e lo stile; – DOM (Document Object Model) manipolato attraverso JavaScript. – l'oggetto XMLHttpRequest per l'interscambio asincrono dei dati tra il browser dell'utente e il web server. – XML come formato di scambio dei dati, anche se di fatto qualunque formato può essere utilizzato. – PHP o qualsiasi altra tecnologia per il processamento dei dati lato server gianfrasoft.wordpress.com - 2008
  7. 7. PHP5: Caratteristiche di PHP • Punti di forza del PHP: – È semplice (HTML embedded). – È open source (sotto licenza GPL). – È caratterizzato da buone prestazioni – Grazie a Zend Engine 2 introduce un nuovo modello di programmazione ad oggetti, per l’interazione con file XML e per il supporto dei Web Services – È fornito di molte librerie per: • Processamento immagini (GD) • Connessione ai database (MySQL, PostgreSQL, Oracle, ...) • Parser XML anche per processori XSLT • Compressione dati • SSL • Generazione file PDF • Web Services (SOAP, XML-RPC, ...) • ... – Sono disponibili archivi di estensioni e librerie PHP (PEAR, …) – Consente la realizzazione di applicazioni aziendali gianfrasoft.wordpress.com - 2008
  8. 8. PHP5: phpinfo() • Per verificare che PHP sia correttamente installato e funzionante sul server: – Interrogare un semplice script contentente: <?php phpinfo() ?> – Questo script visualizza molte informazioni sullo stato corrente del PHP Queste includono informazioni sulle opzioni di compilazione del PHP, sui moduli, la versione di PHP, informazioni sul server e sull'ambiente (se compilato come modulo), l'ambiente PHP, la versione di OS, percorsi, valori delle configurazioni base e attuali, intestazioni HTTP e la licenza del PHP. – Dato che ogni sistema ha una configurazione differente, phpinfo() viene comunemente utilizzato per verificare le impostazioni di configurazione e le variabili predefinite disponibili in un dato sistema. – phpinfo() è utile come strumento di debug poichè visualizza tutti i dati EGPCS (Environment, GET, POST, Cookie, Server). gianfrasoft.wordpress.com - 2008
  9. 9. PHP5: Sintassi • Per inserire il codice PHP all’interno delle pagine web (HTML) si utilizzano speciali tag: – <?php ... ?> (oppure <? ... ?>) (il più usato) – <% ... %> (da abilitare in php.ini) – <SCRIPT LANGUAGE="PHP"> ... </SCRIPT> (quest’ultimo può confondere poiché è utilizzato per i linguaggi client-side!) <html> <head> <title>Ciao mondo!</title> </head> <body> <?php // Questo è codice PHP racchiuso tra i tag "classici" print "<hl>Ciao mondo!</hl>"; ?> </body> </html> gianfrasoft.wordpress.com - 2008
  10. 10. PHP5: Commenti • I commenti sono indispensabili per una programmazione chiara degli script PHP: <?php /* * Questo è un commento stile C */ // Questo è un commento // stile C++ # Questo è un commento # stile Perl ?> gianfrasoft.wordpress.com - 2008
  11. 11. PHP5: Variabili / 1 • In PHP il nome di una variabile può contenere solo caratteri alfanumerici e l’underscore (_). • L’assegnazione del valore ad una variabile avviene mediante l’operatore =. • Le variabili vengono generate automaticamente nell’ambito della prima assegnazione (dichiarazione implicita). • In PHP valgono le regole della tipizzazione debole, ovvero il tipo della variabile viene determinato alla prima assegnazione di un valore, oppure mediante conversioni implicite, conversioni esplicite o casting. // Assegnazione di una viariabile $variabile = "valore"; print($variabile) // stampa “valore" // Una variabile dinamica $tavola = "bicchiere"; // Casting esplicito $$tavola = "acqua"; print($bicchiere); // stampa "acqua" $variabile = "5"; print((int)$variabile) // stampa 5 gianfrasoft.wordpress.com - 2008
  12. 12. PHP5: Variabili / 2 • La funzione isset(var) restituisce vero (TRUE) se la variabile esiste, falso (FALSE) in caso contrario. • La funzione empty(var) restituisce TRUE se la variabile ha valore nullo, FALSE in caso contrario. • L’istruzione uset(var) distrugge la variabile specificata. // $n non esiste if (!isset($n)) { print '$n non esiste <br>'; } if (empty($n)) { print '$n è vuota <br>'; } $m = $n + 5; // $m vale 5 print '$m vale '.$m.' <br>'; // ora $n esiste $n = 1; if (isset($n)) { print 'ora $n esiste <br>'; } if (empty($n)) { print 'ma $n è ancora vuota <br>'; } unset($n); // ora $n NON esiste if (!isset($n)) { print 'ora $n NON esiste <br>'; } gianfrasoft.wordpress.com - 2008
  13. 13. PHP5: Costanti • Le costanti vengono impostate manualmente usando l'istruzione define(). • Per controllare che una costante sia definita effettivamente è necessario utilizzare la funzione defined(), considerando il solo argomento che identifica il nome della costante da controllare. // definisco una costante define("PROVA", "Valore della costante PROVA."); if (defined("PROVA")) print PROVA; gianfrasoft.wordpress.com - 2008
  14. 14. PHP5: Tipi di dati / 1 • I tipi in PHP si dividono in: – Tipi semplici: booleani, interi, numeri a virgola mobile, stringhe. – Tipi composti: array, oggetti. $a = 2.34; – Le variabili non vanno dichiarate $b = "Ciao mondo"; $c = 3; – La conversione di tipo è $pigreco = 3 + 0.1415; automatica – I tipi vengono assegnati per $sub = substr(20340, 2, 2); contesto. $sub = $sub + 5; print("sub vale $sub"); // output: sub vale 39 gianfrasoft.wordpress.com - 2008
  15. 15. PHP5: Tipi di dati / 2 • Per determinare il tipo di una variabile: – gettype(var) restituisce una descrizione del tipo della variabile. – Per ogni tipo è definita una funzione predicato che restituisce TRUE se l'argomento è del tipo in questione: • is_bool • is_int • is_string • … La lista completa è al sito: http://hu.php.net/manual/it/ref.var.php – Queste funzioni sono molto utili per un efficace filtraggio dell’input ai fini della gestione della sicurezza. gianfrasoft.wordpress.com - 2008
  16. 16. PHP5: Tipo boolean • Una variabile booleana può assumere solo due valori di verità: TRUE e FALSE (valori costanti). // Creo due variabili $a = TRUE; $b = 75; // L'istruzione seguente stampa "$a è bool" if (is_bool($a)) echo '$a è bool '; else echo '$a non è bool '; // Questa invece stampa "$b non è bool" if (is_bool($b)) echo '$b è bool '; else echo '$b non è bool '; gianfrasoft.wordpress.com - 2008
  17. 17. PHP5: Tipo stringa • Una stringa, è una sequenza di caratteri. • Una lista di tutte le funzioni per l’analisi e la manipolazione delle stringhe in PHP è alla pagina: http://it2.php.net/manual/it/ref.strings.php in particolare la funzione htmlspecialchars() è molto utile per il filtraggio dell’input in ambito di gestione della sicurezza delle pagine PHP. // Una stringa costante $mio_nome = "Gianfranco"; // Una stringa vuota $vuota = ""; gianfrasoft.wordpress.com - 2008
  18. 18. PHP5: Interpolazione • Le stringhe racchiuse da apici singoli rappresentano esattamente ciò che esse contengono. • Le stringhe fra apici doppi attuano una interpolazione dei dati: – I nomi delle variabili che cominciano per $ vengono sostituite con il valore delle variabili dopo che questo è stato convertito in tipo stringa. – Sequenze di caratteri che cominciano con il backslash (), come n, t, r, … vengono sostituite con i corrispondenti caratteri speciali. – Sequenze di caratteri $, " e causano rispettivamente la stampa dei caratteri $, " e . $a = “primo"; primo,,“secondo"+2.2 $b = “secondo"; $c = .22e+1; // notazione esponenziale print ("$a,$terzo,"$b"+$c"); gianfrasoft.wordpress.com - 2008
  19. 19. PHP5: Tipo array / 1 • Un array è una collezione di valori individuati da un nome e da un indice. • L'indice può essere un numero intero ma anche una stringa: nel secondo caso l'array si definisce associativo. • in PHP gli elementi di un array possono essere di tipi diversi, anche array. Un array che contiene altri array è difatti un array multidimensionale. gianfrasoft.wordpress.com - 2008
  20. 20. PHP5: Tipo array / 2 • Un array può essere creato utilizzando il costrutto array() oppure lo si può creare implicitamente, aggiungendovi elementi. $lista = array("mele", "pere", "pane", "latte"); $lista[0] = "mele"; $lista[] = "mele"; $lista[1] = "pere"; $lista[] = "pere"; $lista[2] = "pane"; $lista[] = "pane"; $lista[3] = "latte"; $lista[] = "latte"; • Nel caso di un array associativo: $lista_della_spesa = array("primo" => "pasta", "secondo" => "carne", "contorno" => "insalata"); // nota la variabile autoesplicativa $lista_della_spesa["primo"] = "pasta"; $lista_della_spesa["secondo"] = "carne"; $lista_della_spesa["contorno"] = "insalata"; gianfrasoft.wordpress.com - 2008
  21. 21. PHP5: Array multidimensionali • Un array non è vincolato a contenere informazioni dello stesso tipo. Neppure se si tratta di un array multidimensionale. • L’accesso ai dati di un array multidimensionale si attua indicando in sequenza gli indici dell’array principale e dell’array interno: ciò ricorsivamente, per quanti possono essere i livelli di annidamento dell’array. // Un array di quattro elementi di tipo diverso $anagrafici = array("Gianfranco Fedele", TRUE, array(5, 3, 1973)); // Questa istruzione stampa "Gianfranco Fedele"; echo $anagrafici[0]; echo "<br>"; // Questa stampa il numero 1973 echo $anagrafici[2][2]; gianfrasoft.wordpress.com - 2008
  22. 22. PHP5: Tipo object • PHP supporta il paradigma di programmazione a oggetti mediante il tipo object per le istanze di classi PHP. – La funzione is_object(var), restituisce TRUE se è un oggetto e FALSE in caso contrario. – La funzione gettype(var), data una variabile di tipo object restituisce la stringa object. • PHP è un linguaggio con estensioni per la programmazione ad oggetti, ma non è un linguaggio ad oggetti “puro” come Java. gianfrasoft.wordpress.com - 2008
  23. 23. PHP5: Casting e conversione • La conversione dei tipi in PHP nella maggior parte dei casi avviene in modo implicito e trasparente: l'interprete PHP, in base al contesto, stabilisce il tipo da assegnare alle variabili. • È comunque possibile operare delle conversioni esplicite utilizzando le funzioni (intval(), strval(), …) oppure mediante il casting: $a = 10; // $a e' una variabile intera e vale 10 $b = $a + 1.5; // $b e' un numero in virgola mobile (11.5) $c = "5+$a"; // $c e' una stringa ("5+10") echo (int)$b; // Adesso $b è di tipo int e vale 11 (parte intera di $b) gianfrasoft.wordpress.com - 2008
  24. 24. PHP5: Operatori aritmetici • Sono gli operatori delle operazioni aritmetiche basilari. Esempio Risultato... $a + $b La somma di $a e $b $a - $b La differenza fra $a e $b $a * $b Il prodotto di $a e $b $a / $b Il rapporto tra $a e $b $a % $b Il resto della divisione di $a per $b // Divisione $dividendo = 15; $divisore = 2; // $rapporto vale 7.5 $rapporto = $dividendo / $divisore; // $resto vale 1; $resto = $dividendo % $divisore; gianfrasoft.wordpress.com - 2008
  25. 25. PHP5: Concatenazione di stringhe • L’operatore di concatenazione delle stringhe è “.“ // nome e cognome $nome = "Gianfranco"; $cognome = "Fedele"; // Concatenazione $nome_completo = $nome . " " . $cognome; • Lo stesso risultato è possibile mediante l’interpolazione nelle stringhe: $nome = "Gianfranco"; $cognome = "Fedele"; $nome_completo = "$nome $cognome"; gianfrasoft.wordpress.com - 2008
  26. 26. PHP5: Operatori di confronto • Tra gli operatori di confronto classici, si noti la differenza tra gli operatori: == e ===. Esempio Restituisce TRUE se... $a == $b $a e $b sono uguali (stesso valore) $a === $b $a e $b sono uguali (stesso valore e tipo) $a != $b $a e $b sono diversi $a < $b $a è minore di $b $a <= $b $a è minore o uguale di $b $a > $b $a è maggiore di $b $a >= $b $a è maggiore o uguale di $b gianfrasoft.wordpress.com - 2008
  27. 27. PHP5: Operatori logici • Gli operatori logici consentono di legare tra loro diverse condizioni, costruendone di nuove. Operatore Esempio Restituisce TRUE se… not !$a $a è falsa and $a && $b ($a and $b ) $a e $b sono entrambe vere or $a || $b ($a or $b ) almeno una tra $a e $b è vera xor $a xor $b solo una tra $a e $b è vera gianfrasoft.wordpress.com - 2008
  28. 28. PHP5: Operatori combinati • L‘opertore = non è l’unico operatore di assegnazione disponibile in PHP. $somma = $a + $b; $frase = "La somma e' pari a $somma"; • Esistono operatori di assegnazione detti operatori combinati: Esempio Risultato Esempio Risultato $a += $b $a = $a + $b $n++ incrementa (decrementa) $n $a -= $b $a = $a - $b $n-- di uno e ritorna il valore $a *= $b $a = $a * $b ++$n ritorna $n e incrementa $a /= $b $a = $a / $b --$n (decrementa) di uno $a %= $b $a = $a % $b $a .= $b $a = $a . $b gianfrasoft.wordpress.com - 2008
  29. 29. PHP5 prima parte - FINE Gianfranco Fedele Analista programmatore gianfrasoft@gmail.com gianfrasoft.wordpress.com www.linkedin.com/in/gianfrasoft
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×