PHP (acronimo ricorsivo per : Hypertext Preprocessor) è nato come piccolo progetto open source nel 1994, dal programmatore danese Rasmus Lerdorf. Inizialmente scritto con il linguaggio di programmazione C, venne utilizzato dal creatore per tenere traccia delle visite sul suo curriculum online. Con il tempo, mosso dal desiderio di un progetto che avesse più funzionalità, Rasmus scrisse PHP Tools. Questa nuova versione permetteva di interagire con i database, fornendo così un framework su cui gli utenti potevano sviluppare semplici applicazioni web dinamiche.
Il codice sorgente venne reso pubblico nel giugno del 1995, permettendo agli sviluppatori di utilizzarlo in maniera autoctona, e agli utenti di fornire correzioni per i bug nel codice e di migliorarlo in generale.
Il codice ha subito un restyling completo nell’Aprile del 1996 (con il nome di PHP/Fi), permettendo un’evoluzione di PHP da suite di strumenti a linguaggio di programmazione a sé stante, comprendendo il supporto integrato per database, cookies e funzioni definite dall’utente. Soltanto con l’arrivo di PHP 3.0 nel Giugno del 1998, grazie alla collaborazione di Zeev Suraski e Andi Gutmans, si consolidò uno dei suoi maggiori punti di forza, ovvero le forti caratteristiche di estensibilità (per estensibilità si intende la possibilità di interagire con altri linguaggi o database). Inoltre, è stata fornita agli utenti un’interfaccia più matura per database, protocolli ed API (application programming interface).
Con molta probabilità, questa è stata la chiave dell’enorme successo della versione 3.0 di PHP. Ulteriori caratteristiche chiave includono il supporto alla programmazione orientata agli oggetti e una sintassi del linguaggio di programmazione molto più potente.
Nei giorni odierni PHP è particolarmente adatto per lo sviluppo Web; essendo esso un linguaggio interpretato, ha la possibilità di essere incorporato in HTML.
Cosa intendiamo quando parliamo di linguaggio interpretato? Andiamo a scoprirlo!
Linguaggi interpretati e compilati
Un linguaggio compilato è un linguaggio di programmazione in cui il codice sorgente viene tradotto in codice macchina; questa procedura viene detta compilazione. Successivamente, il linguaggio compilato viene archiviato in un file separato detto eseguibile, ad esempio il classico .exe di Windows.
Questo tipo di linguaggio tende a dare allo sviluppatore web un controllo maggiore sugli aspetti hardware, come l’utilizzo della CPU e la gestione della memoria.
In un linguaggio compilato, il programma deve essere ricompilato ogni volta che si apporta una modifica.
Esempi di linguaggi compilati : C, C++, Rust e Go.
Un linguaggio interpretato è un linguaggio di programmazione che vede la maggior parte della sua implementazione eseguire istruzioni direttamente, senza compilare prima un programma in codice macchina. L’interprete esegue il programma direttamente, traducendo ogni istruzione in sequenze di uno o più sottoprogrammi, e poi in codice macchina.
Esempi di linguaggi interpretati: PHP, HTML, Python e JavaScript.
Vantaggi e svantaggi
I programmi interpretati sono più lenti dei programmi compilati in codice nativo: questo è dovuto al processo di traduzione in fase di esecuzione, che aumenta il sovraccarico e può causare un rallentamento generale del programma. I linguaggi di programmazione interpretati sono, tendenzialmente, più flessibili ed offrono innumerevoli funzionalità aggiuntive come le dimensioni del codice ridotte e la digitazione automatica.
Gli svantaggi più considerevoli per i linguaggi compilati riguardano il tempo necessario per il completamento della fase di compilazione e la dipendenza dal codice binario generato, mentre, per i linguaggi interpretati lo svantaggio si focalizza sempre sulla velocità di esecuzione inferiore.
Perchè imparare PHP: i vantaggi
La popolarità di PHP è logicamente dovuta ai suoi numerosi vantaggi, che lo rendono uno strumento potente ed efficace per lo sviluppo web. Tra questi motivi possiamo trovare:
- ampia disponibilità di materiali di riferimento;
- una vasta raccolta di componenti open source;
- grande sinergia con il linguaggio HTML;
- flessibilità e combinabilità;
- opzioni per la connettività con i database;
- velocità di caricamento dei siti web;
Svisceriamo un po’ i vari punti:
- Ampia disponibilità di materiali di riferimento
Sul Web sono disponibili molti tutorial, manuali e diversi manuali di riferimento che semplificano lo sviluppo e possono ispirare ed aiutare in situazioni di difficoltà. Si tratta di materiali preziosi soprattutto per gli sviluppatori alle prime armi che vogliano iniziare a programmare, poiché semplificano ulteriormente il processo di apprendimento di un linguaggio di programmazione già semplice di per sé. - Una vasta raccolta di componenti open source
Essendo PHP una tecnologia free-to-use presenta notevoli risparmi per il budget di sviluppo. In più, la maggior parte degli strumenti utilizzati per sviluppare in ausilio a PHP sono framework open source ed utilizzabili gratuitamente riducendo ancora il costo dello sviluppo. Inoltre, esistono anche framework come Laravel, che estende le funzionalità di PHP e rende possibile sviluppare in maniera più efficace e semplice. - Grande sinergia con il linguaggio HTML
Come già detto in precedenza, PHP offre la programmazione incorporata in HTML.
Nella maggior parte dei casi, uno script PHP non interferisce con il codice html di una pagina web, e, anzi, lo completa rimanendo nei bordi definiti dal tag <?php ?>.<!DOCTYPE html> <html lang="it"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatibile" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <?php echo "Ciao a tutti"; ?> </body> </html>
Viceversa, in una pagina PHP puoi integrare codice HTML usando uno script.
- Flessibilità e combinabilità
PHP è in grado di combinarsi efficacemente con molteplici linguaggi, in modo che il software possa utilizzare la tecnologia più efficace per ogni caratteristica. - Opzioni per la connettività con i database
PHP consente la connessione con molteplici database. La scelta più comune è Mysql, molto efficace e popolare tra i developer. Altre solide opzioni possono essere PostgreSQL, MongoDB, e SQLite (che, però, è specifico per ambienti di test). In questo modo gli sviluppatori web non si limitano a utilizzare un determinato database e possono selezionare quello più performante per un’app futura, tenendo in considerazione tutti i fattori rilevanti. - Velocità di caricamento dei siti web
L’utilizzo di PHP rende la pagina web più veloce rispetto a molte tecnologie di sviluppo web. Anche il minor tempo di caricamento è un importante fattore per il ranking SEO (Ottimizzazione per i motori di ricerca) per promuovere la propria pagina web e renderla più competitiva. Una migliore velocità rende i clienti soddisfatti e aiuta a costruire e mantenere la base di clienti.