====== Introduzione PHP ====== [[php:php|Paguna principale del PHP]] 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. ===== Pagine dinamiche ===== 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: - eventi generati dall’utente * click su un link o invio di un form - eventi sul server: *giorno della settimana, ora del giorno, … In base a questi eventi il contenuto di una stessa pagina può variare (es. buongiorno o buonasera oppure compiere un calcolo). ===== Comunicazione Client-Server ===== 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. {{ :php:server-php-architecture.webp |}} 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.