Cos`è PHP? - Altervista

Transcript

Cos`è PHP? - Altervista
Cos'è PHP?
PHP è un linguaggio di programmazione in
modalità scripting interpretato da un server.
Linguaggi di scripting
●
●
●
Un linguaggio di scripting è un linguaggio di programmazione
interpretato destinato in genere a compiti di automazione del sistema
operativo (batch, bash ecc) o delle applicazioni (macro), o a essere usato
all'interno delle pagine web (PHP, ASP, JSP, ecc).
Nei linguaggi di scripting il programmatore generalmente si disinteressa
delle risorse di sistema che il programma finito dovrà consumare,
demandando il tutto al sistema stesso. Per risorse si intendono, per
esempio, la gestione della allocazione e deallocazione della memoria, la
conversione tra tipi, l'inizializzazione e la chiusura dell'applicazione.
L'utilizzo di un linguaggio di scripting permette di concentrarsi
direttamente sulla soluzione del problema.
●
●
●
●
La differenza tra linguaggi compilati e linguaggi interpretati è molto importante ed influisce
sia sulle prestazioni che sulle possibilità del linguaggio stesso.
Linguaggi come il C, C++, Delphi, Visual Basic sono linguaggi compilati e seguono
questi passi: si scrive il codice in un editor (di solito ambiente IDE), questo codice viene
poi controllato e compilato: ogni istruzione viene trasformata nel corrispondente codice in
linguaggio macchina che può essere, eseguito dal processore. Questi linguaggi hanno il
vantaggio di prestazioni migliori.
Linguaggi interpretati: le istruzioni vengono interpretate al volo come descritte nel codice
sorgente; il codice PHP (ASP ecc) viene “elaborato” e restituisce una pagina html. La
potenza di questi genere linguaggi è l’alta portabilità e l’immediatezza tra quello che
scriviamo e quello che viene presentato all’esecuzione del programma.
Un linguaggio che è a metà strada tra queste metodologie è Java che è sia compilato che
interpretato; il codice sorgente viene compilato in un formato intermedio (chiamato
bytecode), il quale a sua volta viene interpretato dalla Java Virtual Machine (JVM), che ha
il compito di interpretare “al volo” le istruzioni bytecode.
●
●
●
●
La differenza tra linguaggi compilati e linguaggi interpretati è molto
importante ed influisce sia sulle prestazioni che sulle possibilità del
linguaggio stesso.
Linguaggi come il C, C++, Delphi, Visual Basic sono linguaggi compilati e
seguono questi passi: si scrive il codice in un editor (di solito ambiente IDE),
questo codice viene poi controllato e compilato: ogni istruzione viene
trasformata nel corrispondente codice in linguaggio macchina che può essere,
eseguito dal processore. Questi linguaggi hanno il vantaggio di prestazioni
migliori.
Linguaggi interpretati : le istruzioni vengono interpretate al volo come
descritte nel codice sorgente; il codice PHP (ASP ecc) viene “elaborato” e
restituisce una pagina html. La potenza di questi genere linguaggi è l’alta
portabilità e l’immediatezza tra quello che scriviamo e quello che viene
presentato all’esecuzione del programma.
Un linguaggio a metà strada è Java che è sia compilato che interpretato; il
codice sorgente viene compilato in un formato intermedio (chiamato bytecode) e
poi interpretato dalla Java Virtual Machine (JVM), che ha il compito di
interpretare “al volo” le istruzioni bytecode. (Alta portabilità, prestazioni non
eccellenti)
Linguaggi lato client (Javascript) e
lato server (PHP)
●
●
●
●
●
●
Le istruzioni vengono lette ed interpretate dal browser dell'utente
che interpreta le istruzioni PHP e restituisce la pagina al client
Il webserver (solitamente Apache) ospita un "motore"
Codice visibile. Il codice, essendo interpretato dal browser, viene comunque scaricato sul computer dell'utente Il
codice PHP non viene mostrato ne restituito all'utente. Questi vedrà solo il codice HTML generato.
Possibilità interagire eventi. Può interagire su tutti gli eventi dell'utente (click, mouseOver, doubleClick, submit, select..)
Essendo interpretato lato server, non è in grado di interagire con gli eventi del client. Una volta caricato il file, per
eseguire una nuova istruzione PHP è necessaria una nuova richiesta al server (un reload o una nuova pagina)
Controllo campi form. Permette di verificare che tutti i campi siano compilati prima che la form venga inviata; tuttavia è
possibile disabilitare i javascript nel browser e tale controllo potrebbe rivelarsi inutile Come detto, PHP necessita di
una nuova richiesta al server per eseguire operazioni. Per controllare i campi della form sarà quindi necessario l'invio del
modulo. L'utente dovrà attendere il caricamento di una nuova pagina (in javascript invece il controllo è in "tempo reale");
tuttavia è un check più sicuro perchè via browser non è possibile disabilitare le istruzioni PHP.
Risiedendo sul client dell'utente, Javascript non può creare o cancellare file sul filesystem del server.
creare, modificare, eliminare, aprire, leggere file sul server.
E' possibile
Scambio dati con database. Non offre alcun supporto ai database relazionali standard, ma a database locali al browser
(solo HTML 5) Supporta i database più diffusi, compresi Access, Oracle, SQlserver ma sopratutto MySql e PostgreSQL
(entrambi gratuiti e preinstallati in tutti i server Linux).