Sei sulla pagina 1di 5

PHP

PHP è l’acronimo ricorsivo di “PHP HyperText Preprocessor”.


Rappresenta un linguaggio di programmazione creato da Rasmus Lerdorf per estendere i documenti HTML e
migliorare l’homepage. L’obiettivo era quello di generare alcune porzioni del documento HTML in maniera
dinamica.
 PHP è un linguaggio di scripting: un linguaggio interpretato, che non necessità di una fase di
compilazione perché il sorgente PHP viene compilato istantaneamente dal motore PHP;
 PHP è un linguaggio server–side: linguaggio che viene eseguito prima che la pagina venga inviata all’utente.
Vantaggio nell’uso di PHP:
 Facile da imparare;
 Velocità di tempi di sviluppo;
 Alte prestazioni e stabilità;
 Supportato dai principali sistemi operativi;
 Supporto nativo per i database più popolari;
 Include molte librerie built-it utili alla manipolazione di immagini, PDF, posta elettronica...
Tag codice PHP: Il codice PHP è delineato dai tag: <?php e ?>, tutto ciò che si trova al suo interno viene
interpretato dal modulo PHP
Pagina di configurazione: PHP è configurabile attraverso il file php.ini
Per vedere com’è configurata l’istallazione di PHP è possibile usare lo script <?php phpinfo(); ?>:
1. inserire lo script in un file con estensione .php;
2. invocare il file attraverso l’URL http://localhost/info.php.
La funzione phpinfo() crea una pagina HTML contenente informazioni su come PHP è stato installato.

ARCHITETTURA
1) Il browser richiede al server un documento con estensione .php;
2) Il server invia il documento al modulo PHP;
3) Il modulo PHP estrae la porzione di codice, interpreta lo script e produce un output che viene inviato
indietro, includendo anche ciò che non è codice PHP;
4) Il server risponde alla richiesta del browser inviandogli l’output del modulo PHP.

LA CARTELLA PER SCRIPT PHP


I file che sono accessibili dal server web devono essere collocati in una cartella particolare che dipende dal
server e dalla sua configurazione.
Per XAMPP - C:/xampp/htdocs
Tale cartella può essere modificata attraverso la direttiva DocumentRoot di Apache, che individua la cartella in
cui vanno inseriti tutti i file che sono accessibili tramite HTTP

I MESSAGGI DI ERRORE
In fase di sviluppo è utile visualizzare dei messaggi di errore al fine di individuare problemi nell’applicazione, è
importante però disattivare questi messaggi in fase di produzione per ragioni estetiche ma anche e
soprattutto di sicurezza (potrebbero rivelare dettagli e informazioni riservate).
Per attivare/disattivare i messaggi di errore in fase di produzione si usa:
display_errors <valore> valore: stdout/stderr
Esiste poi il parametro <display_startup_error> che mostra gli errori in fase di avvio dello script

ERRORI PHP:
Il parametro utilizzato per mostrare errori è error_reporting <integer>. Tali errori, identificabili da un valore
intero, possono essere anche identificati da costanti:
 E_ERROR 1 Riferimento ad errori veri e propri – script interrotto
 E_PARSE 4 Riferimento ad errori di sintassi – script non eseguito
 E_WARNING 2 Messaggi di allerta – script non interrotto
 E_NOTICE 8 Messaggi di avviso – script non interrotto
 E_ALL 32767 Tutti i messaggi di errore
Nel caso in cui non posso modificare il php.ini – carattere globale - come nel caso di utilizzo del php su un
servizio di hosting è possibile usare ini_set(“error_reporting”; <integer>)

STAMPA
Tutto ciò che viene stampato in output dallo script PHP diventa il contenuto del messaggio HTTP che il server
invia al client.
Per stampare in output tali messaggi si usano i costrutti echo (più usato) e print, utilizzabili anche senza
parentesi (es. echo/print “ciao mondo”)
Echo: - non restituisce alcune valore
- Accetta più argomenti separati da virgole (es. echo ‘ciao’, ’a’, ’tutti’)
Può essere abbreviato: <?=$var?> equivale a <?php echo $var; ?>
Print: - restituisce sempre 1
- Accetta un solo argomento
- Non funziona con la virgola nel caso delle concatenazioni
Esistono poi funzioni che permettono di stampare l’output in maniera formattata, queste sono printf e sprintf
Printf – permette di specificare un formato
Sprintf – restituisce il valore di printf ma non stampa
Altre funzioni di stampa:
 var_dump stampa in output il tipo della variabile e il suo contenuto
 print_r stampa il contenuto ma non il tipo
 gettype stampa soltanto il tipo della variabile

COMMENTI
Esistono vari modi per inserire commenti all’interno di uno script PHP.
I commenti su singola linea si hanno con
 //
 #
Mentre /* … */ permette il commento su più linee

SCRIVERE IN PHP
I nomi di classi, funzioni definite dall’utente, costrutti predefiniti e alcune parole chiave(while, class, echo…)
sono case insensitive.
Altre parti del linguaggio, come le varabili, sono case sensitive.

LE VARIABILI IN PHP
Le variabili in PHP:
 sono rappresentate dal simbolo del dollaro ($) seguito dal nome della variabile
 Iniziano con lettera o un underscore (_) seguito da lettere, numero, underscore e caratteri ASCII
 sono case-sensitive
 non necessitano di dichiarazione

I TIPI DI VARIABILE
La mancanza di una dichiarazione, fa si che il linguaggio venga tipato in maniera dinamica, ovvero la variabile
prende il tipo del suo contenuto e può essere soggetta ad una conversione automatica di tipo
Esistono 8 tipi di dato:
 4 tipi scalari - assumono un solo valore: interi, numeri in virgola mobile, booleani e stringhe
 2 tipi composti: array e oggetti
 2 tipi speciali:
- null - la variabile non ha valore
- risorse - tipi assegnati a risorse come file, connessioni di rete…
Il tipo di una variabile può essere cambiato in un qualsiasi momento: è possibile assegnare ad una stessa
variabile prima un valore intero, poi una stringa e successivamente un numero in virgola mobile
Le variabili all’interno di una stringa racchiusa da virgolette doppie (“”) vengono espanse, verrà quindi
mostrato il loro valore
INIZIALIZZAZIONE DI UNA VARIABILE
Le variabili devono essere inizializzate attraverso l’operatore di assegnamento “0”:
 $A = 1 numero
 $B = “2” stringa
 $C = ($A + $B) somma – conversione automatica della striga in numeri
 $D = ($A . $B) concatenazione di stringhe – Operatore “.”
Per verificare se una variabile sia stata inizializzata si usa la funzione isset()
Qualora le variabili non siano inizializzate assumono dei valori predefiniti, quali:
 Numero 0
 Stringhe stringa vuota
 Booleano false

LE VARIABILI VARIABILI
In PHP è possibile utilizzare il valore di una variabile per definire il nome di un’altra variabile
Es. $foo = “bar”
$$foo = “ciao”
Dopo la seconda istruzione, si ha una variabile $bar che contiene il calore “ciao”

ASSEGNAMENTI
Nel caso dell’assegnamento per valore, o by value, si ha una copia, e non un collegamento, del valore di una
variabile in una nuova variabile.
Di conseguenza le modifiche di una delle variabili non influiscono sull’altra variabile
Es. $A = 1
$B = $A
$A= 3 //$B vale comunque 1
Tale assegnamento non viene utilizzato per gli oggetti, dove si ha un assegnamento per riferimento.
L’assegnamento per riferimento permette, invece, di creare un vero e proprio collegamento attraverso il
simbolo “&”
Es. $nero = & $bianco Le variabili $nero e $bianco fanno riferimento alla stessa zona di memoria,
quindi modificando una variabile, modifico anche l’altra.
Per distruggere delle variabile, eliminandole completamente dalla memoria e dall’ambiente PHP si usa la
funzione unset ( <variabile> )
NB eseguendo unset($bianco) non si elimina anche $nero

CAMPO DI VISIBILITÀ
In PHP esistono quattro campi di visibilità per le variabili:
 Locale (ad una funzione): una variabile dichiarata in una funzione che viene vista soltanto all’interno
della funzione stessa e in eventuali funzioni annidate (come i parametri di una funzione).
 Globale: una variabile dichiarata fuori da una funzione visibile ovunque all’interno del codice PHP ma non
all’interno delle funzioni salvo che non si rende accessibile attraverso la funzione global $NomeVariabile.
 Statico: una variabile visibile sono nella funzione che conservano il loro valore tra chiamate successive
della funzione (dichiarate con static).

SEQUENZE DI ESCAPE
Sequenze di caratteri che possiamo inserire in stringhe contenute da virgolette doppie cominciano con il
backslash (\) e vengono sostituite con caratteri speciali
 \n newline (nuova riga)
 \r carriage return (ritorno a capo)
 \t carattere di tabulazione (TAB)
 \$ carattere dollaro ($)
 \” carattere doppi apici (“)
 \\ carattere backslash (\)
PHP fornisce inoltre una funzione che permette di convertire tutti i caratteri nella relativa frequenza di escape
htmlspecialchars()

FUNZIONI SULLE STRINGHE


Esistono moltissime funzioni per la manipolazione delle stringhe:
 Strlen ($stringa) restituisce la lunghezza di una stringa
 Strpos ($arg1, $arg2) restituisce la posizione della prima occorrenza nel secondo argomento
nel primo argomento (FALSE se non trovato)
 Itrim, rtrim, trim eliminare gli spazi bianchi a sinistra/ destra/ entrambi i lati della stringa
 Strtolower conversione della stringa in minuscolo
 Strtoupper conversione della stringa in maiuscolo
 Ucfirst conversione prima lettera della prima parola della stringa in maiuscolo
 Ucwords conversione prima lettera di ogni parola della stringa in maiuscolo
 Str_replace(‘e1’,’e2’,Str’) sostituisce el1 con el2 nella stringa Str
 substr(str, int inizio, lunghezza) ritorna una parte della stringa

Una stringa in PHP può essere considerata anche come un array di caratteri, è quindi possibile accedere
all’i-esimo carattere di una stringa con riferimento alla posizione i-1, attraverso le parentesi quadre [ ]
Es. $stringa = “casa”
$secondocar = $stringa[1]

COSTANTI
In PHP è possibile definire delle costanti che possono contenere solo valori scalari
Sintassi: define (‘NomeCostante’, ‘Valore’);
echo NomeCostante senza usare $

Potrebbero piacerti anche