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).