Introduzione a PHP

Cos'è PHP: introduzione al linguaggio

PHP è un linguaggio di programmazione creato da Rasmus Lerdorf nel lontano 1995 per la creazione di pagine web dinamiche. Da allora si è evoluto in un linguaggio completo e professionale, grazie anche al supporto della community che ruota intorno ad esso.

L'acronimo PHP sta per Hypertext Preprocessor, mentre nella prima implementazione del linguaggio stava per Personal Home Pages.

Con la sua semplicità e flessibilità, PHP è adatto sia per lo sviluppo di un semplice blog che di applicazioni web più complesse, come ad esempio un social network o un forum.

Nel corso degli anni sono nati numerosi software open source scritti in PHP, tra i quali sono da menzionare WordPress, Joomla!, Magento, Prestashop tra i CMS e Symfony, Laravel e CodeIgniter tra i framework.

Tra le funzionalità o applicazioni che è possibile implementare con PHP troviamo:

  • invio modulo di contatto
  • upload di file
  • registrazione e login area riservata
  • mailing list
  • gestione file
  • blog
  • Content Management Systems (CMS)
  • Customer Relationship Management (CRM)
  • piattaforme di e-learning
  • piattaforme di e-commerce
  • e molto altro

Dopo questa breve introduzione analizziamo le principali caratteristiche e funzionalità del linguaggio, vediamo un esempio di codice PHP e perché oggi vale la pena imparare questo linguaggio.

Caratteristiche

Elenchiamo alcune delle principali caratteristiche di PHP:

  • È un linguaggio di scripting interpretato.
  • È un linguaggio server-side: il codice PHP viene eseguito sul server web dall'interprete del linguaggio il quale converte il codice PHP in HTML e lo invia al client, ossia il browser dell'utente.
  • La sua sintassi è derivata dal linguaggio C e dal Perl.
  • È un linguaggio HTML-embedded, in quanto è possibile inserire codice PHP all'interno di una pagina contenente codice HTML.
  • Nasce come linguaggio a tipizzazione debole, infatti è possibile assegnare alla stessa variabile differenti tipi di dati.
  • Si integra perfettamente con i più diffusi DBMS tra cui MySQL, PostgreSQL, MariaDB, MSSQL.
  • Consente l'interfacciamento a numerose librerie: cURL, GD, OpenSSL, etc...
  • Ha un semplice meccanismo di garbage collection, che si occupa di liberare la memoria utilizzata al termine dell'esecuzione di uno script.
  • È supportato dai più diffusi web server, primi su tutti Apache e nginx, ma anche Microsoft-IIS e Litespeed.

Esempio di codice

Ma come è strutturato uno programma (o script) scritto in linguaggio PHP?

Ecco il più classico degli esempi che troviamo in tutti i libri di programmazione

<?php
echo "Hello World!";
?>

L'esempio appena visto è un semplice programma PHP che stampa a video la scritta Hello World!. Il codice racchiuso tra i tag <?php e ?> viene eseguito dall'interprete PHP e il codice HTML risultante viene inviato al browser dell'utente.

In realtà PHP è in grado di creare applicazioni ben più complesse e potenti di una semplice stampa a video, ma questo lo vedremo nelle successive guide quando andremo ad analizzare le caratteristiche del linguaggio.

Funzionalità

Le novità più importanti del linguaggio sono state introdotte a partire da PHP 5, con il miglioramento del supporto alla programmazione orientata agli oggetti (OOP) e l'introduzione di PHP Data Objects (PDO), una libreria per l'accesso ai database tramite un'unica interfaccia.

Tuttavia è con l'uscita della versione 7, avvenuta alla fine del 2015, che il linguaggio ha fatto un notevole passo avanti rispetto al passato. Oltre a riscrivere il motore del linguaggio, rendendo PHP il più veloce tra i linguaggi di scripting, gli sviluppatori hanno introdotto numerose nuove funzionalità che consentono la scrittura di codice più robusto e sicuro.

Alcune delle funzionalità introdotte con PHP 7 sono elencate di seguito:

  1. Dichiarazione dei tipi di dati in ingresso e in uscita per le funzioni.
  2. Operatori null coalesce e spaceship.
  3. Definizione di costanti di tipo array tramite la funzione define().
  4. Possibilità di creare classi anonime.

Con l'uscita di PHP 7.4 a fine novembre 2019, sono previste nuove funzionalità e un ulteriore miglioramento delle performance di esecuzione. Da segnalare la possibilità di assegnare il tipo di dato per le proprietà di classe.

Licenza PHP

Quando un nuovo software viene rilasciato, questo di solito comprende anche una licenza d'uso, che ne determina le modalità specifiche per l'utilizzo e la ridistribuzione.

Nel caso di PHP si è scelto di rilasciarlo sotto una specifica licenza open source, denominata PHP license, che comprende alcune restrizioni sul nome "PHP".

Con questa licenza è possibile ridistribuire il codice sorgente e i file binari del linguaggio alle seguenti condizioni:

  • La PHP License deve essere sempre inclusa.
  • Il termine "PHP" non deve essere usato per promuovere software derivati da PHP.
  • Il seguente riconoscimento deve essere sempre presente
    "This product includes PHP software, freely available from <http://www.php.net/software/>".

Perché imparare PHP?

La semplicità d'utilizzo data da una curva di apprendimento bassa, ha reso PHP uno dei linguaggi di programmazione più conosciuti e utilizzati. Basti pensare che è utilizzato da quasi l'80% di tutti i siti internet del mondo.

Alcuni motivi per cui vale la pena imparare PHP:

  • È un linguaggio open source.
  • Ha un ampio supporto della community.
  • Esistono migliaia di packages ben testati e supportati, che svolgono svariate funzionalità.
  • Bassa curva di apprendimento rispetto ad altre linguaggi come ASP, JSP, Perl.
  • Praticamente tutti i provider di hosting forniscono pieno supporto alle ultime versioni di PHP.
  • Le novità introdotte con la versione 7 lo hanno reso un linguaggio di programmazione completo.
  • Essendo un linguaggio lato server, è necessario solamente installarlo su un server ed è sufficiente un browser web per visualizzare pagine scritte in PHP.
  • È facilmente configurabile tramite un semplice file di testo, chiamato php.ini.
  • Ha il supporto integrato con i più diffusi database: MySQL, MSSQL, PostgreSQL.
  • È un linguaggio multipiattaforma: questo significa che è possibile sviluppare la propria applicazione web su diversi sistemi operativi (Windows, Linux o Mac).

Come già detto, PHP è un linguaggio interpretato, ossia esiste un programma detto interprete che si occupa di tradurre il codice PHP in linguaggio comprensibile ai computer. Nella guida successiva parleremo proprio di questo interprete e del suo funzionamento.