Il PHP, che sta per PHP Hypertext Preprocessor”, è un software open-source progettato per sviluppare siti ed applicazioni web.
Il PHP è un linguaggio server-side, infatti viene eseguito totalmente sul server e sul client, il browser, non c'è traccia della escuzione del codice PHP.
Essendo software libero viene solitamente installato su server web Linux, è comunque eseguibile anche su windows. Quasi sempre PHP è installato insieme al web server Apache e al gestore di database MySql.
Il PHP si incorpora all’interno di pagine web e serve a produrre pagine dinamiche.
La sintassi del PHP è derivata da quella del C, per questo è simile alla sintassi di Java e di Javascript.
Quando si parla di pagine dinamiche non ci si riferisce a pagine con animazioni, ma a pagine il cui contenuto può essere generato in seguito all’accadere di un evento. Possiamo distinguere due tipi di eventi:
In base a questi eventi il contenuto di una stessa pagina può variare (es. buongiorno o buonasera oppure compiere un calcolo).
Siccome il PHP è eseguito sul server, l'esecuzione del PHP avviene in modalità client-server.
Una comunicazione client-server è un modello di interazione tra due entità informatiche: un client e un server. In questo modello, il client è il dispositivo o il programma che richiede un servizio o una risorsa al server, mentre il server è il dispositivo o il programma che fornisce il servizio o la risorsa richiesta. Il client effettua una richiesta e in base a tale richiesta il server manderà una risposta al client.
La comunicazione client-server è stateless: ogni richiesta è indipendente dalle altre e non tiene trccia delle richiesteo risposte precedenti. In pratica ogni pagina PHP è un programma a se stante.
E' possibile implementare meccanismi per mantenere lo stato attraverso sessioni utente.
Utilizzando un Browser (Client) effettuiamo una richiesta ad un server web, il server web riconosce un file PHP dalla sua estensione .php e prima di inviarlo al server lo elabora con il motore PHP. Il risultato dell'elaborazione è inviato al client.