Approccio a PHP
19/07/2011Fin verso la metà degli anni ‘90 il WWW era composto in gran parte da pagine statiche, cioè da documenti HTML il cui contenuto non poteva cambiare fino a quando il webmaster non interveniva manualmente a modificarlo. Man mano nacque l'esigenza di rendere dinamici i contenuti, cioè di far sì che la stessa pagina fosse in grado di proporre contenuti diversi, personalizzati in base alle preferenze degli utenti, oppure estratti da una base di dati in continua evoluzione.
PHP nasce nel 1994, ad opera di Rasmus Lerdorf, come una serie di macro la cui funzione era quella di facilitare ai programmatori l'amministrazione delle home page personali: da qui trae origine il suo nome, che allora significava appunto Personal Home Page. In seguito, queste macro furono riscritte ed ampliate fino a comprendere un pacchetto chiamato Form Interpreter (PHP/FI).
Essendo un progetto di tipo Open Source (cioè "codice aperto", quindi disponibile e modificabile da tutti), ben presto si formò una ricca comunità di sviluppatori che portò alla creazione di PHP3, la versione del linguaggio che diede il via alla crescita esponenziale della sua popolarità.
Tale popolarità era dovuta anche alla forte integrazione di PHP con il Webserver Apache (il più diffuso in rete, anch'esso Open Source), e con il database mySql. Tale combinazione di prodotti, integralmente ispirata alla filosofia del free software, diventò ben presto vincente in un mondo in continua evoluzione come quello di Internet.
Il 2000 è stato sicuramente l'anno di maggiore crescita del PHP, coincisa anche con il rilascio della versione 4.0.0, con un nuovo motore (Zend) molto più veloce del precedente ed una lunga serie di nuove funzioni, fra cui quelle importantissime per la gestione delle sessioni.
Oggi PHP è conosciuto come PHP: Hypertext PreProcessor, ed è un linguaggio completo di scripting, sofisticato e flessibile, che può girare praticamente su qualsiasi server WWW, su qualsiasi sistema operativo (Windows o Unix/Linux, ma anche Mac, AS/400, Novell, OS/2 e altri), e consente di interagire praticamente con qualsiasi tipo di database (MySql, PostgreSql, Sql Server, Oracle, SyBase, Access e altri).
Parlando di PHP e di altri linguaggi di scripting si utilizzano le espressioni "lato client" e "lato server".
Se la pagina richiesta al server web contiene esclusivamente codice HTML, il server stesso la divide in pacchetti e la spedisce al browser, così com'è permettendo al nostro utente di visualizzare questa pagina.
Se invece la pagina richiesta ha estensione PHP, quindi non contiene solo codice HTML, ma anche PHP, il server, prima di spedire la pagina, esegue il codice PHP, che produce altro codice HTML frutto dell'elaborazione definita nelle righe di codice stesso.
Dopo l'esecuzione lato server, la pagina non conterrà più codice PHP, ma solo HTML e sarà quindi spedita al browser.
L'utente finale perciò potrà vedere solo il codice HTML, senza poter accedere al codice PHP che ha generato la pagina stessa.
Se confrontiamo PHP con un altro linguaggio di scripting, JavaScript, linguaggio "lato client", comprendiamo la differenza sopra citata!
Le righe di JavaScript vengono trasmesse dal server al browser così come son inserite, ed è compito dello stesso browser (il client) eseguirle e visualizzarne il risultato.
JavaScript ci consente di eseguire operazioni che riguardano il sistema dell'utente, come ad esempio aprire una nuova finestra del browser, o controllare la compilazione di un modulo segnalando eventuali errori prima che i dati vengano spediti al server. Ci permette altresì di avere un'interazione con l'utente quale i rollover.
PHP, essendo eseguito sul server, non è in grado di svolgere direttamente le funzioni lato client ma poiché attraverso PHP possiamo decidere come 'creare' il codice Html da inviare al browser, allo stesso modo può creare codice JavaScript. Lavorando sul lato server abbiamo dunque anche il controllo lato client.