PHP: cos'è e a cosa serve

30 Aug 2019 | M.A.D.R.

è un linguaggio di programmazione in modalità interpretato da un server. Credo che tutti conosciamo un linguaggio di scripting lato client come il .

Il javascript viene elaborato dal nostro (ecco perché spesso una stessa istruzione può funzionare in modo diverso tra i vari browser); PHP viene invece elaborato da un motore (interprete) presente su un server web.

Quando andiamo sul nostro browser e digitiamo un indirizzo, del tipo "http://www.sito.com/maradona.html", il nostro browser esegue (passando per diversi nodi, ma questo è un altro discorso) una richiesta al server che ospita il sito "sito.com" e la pagina "maradona.html". Il server si limita a restituire il file.

Se nella pagina esistono degli script javascript, sarà compito del nostro browser leggerli, interpretarli ed eseguirli mano mano.

Se invece richiediamo una pagina contenente PHP, il server interpreterà le istruzioni e soltanto dopo restituirà la pagina al nostro computer.

Cosa significa questo?

Riassumiamo in questa tabella le differenze tra un linguaggio di scripting interpretato dal client (javascript) ed uno interpretato dal server (PHP):

  Javascript PHP
Interprete Le istruzioni vengono lette ed interpretate dal browser dell'utente Il webserver (solitamente Apache) ospita un "motore" che interpreta le istruzioni PHP e restituisce la pagina al client
Codice visibile Il codice, essendo interpretato dal browser, viene comunque scaricato sul computer dell'utente Il codice PHP non viene mostrato ne restituito all'utente. Questi vedrà solo il codice HTML generato.
Possibilità interagire eventi Può interagire su tutti gli eventi dell'utente (click, mouseOver, doubleClick, submit, select..) Essendo interpretato lato server, non è in grado di interagire con gli eventi del client. Una volta caricato il file, per eseguire una nuova istruzione PHP è necessaria una nuova richiesta al server (un reload o una nuova pagina)
Controllo campi Permette di verificare che tutti i campi siano compilati prima che la form venga inviata; tuttavia è possibile disabilitare i javascript nel browser e tale controllo potrebbe rivelarsi inutile Come detto, PHP necessita di una nuova richiesta al server per eseguire operazioni. Per controllare i campi della form sarà quindi necessario l'invio del modulo. L'utente dovrà attendere il caricamento di una nuova pagina (in javascript invece il controllo è in "tempo reale"); tuttavia è un check più sicuro perché via browser non è possibile disabilitare le istruzioni PHP.
Possibilità interagire file lato client Javascript offre delle istruzioni per aprire e leggere file presenti sul client (solo sistemi Microsoft). Tuttavia sono comandi poco utilizzati, anche perché richiedono l'autorizzazione dell'utente. PHP non offre alcun supporto alla lettura di file lato client. Consente tuttavia l'upload di file e gestisce anche sessioni FTP.
Possibilità interagire file lato server Risiedendo sul client dell'utente, Javascript non può creare o cancellare file sul filesystem del server. E' possibile creare, modificare, eliminare, aprire, leggere file sul server.
Scambio dati con database Non offre alcun supporto ai database relazionali standard, ma a database locali al browser (solo HTML 5) Supporta i database più diffusi, compresi Access, Oracle, SQlserver ma sopratutto MySql e PostgreSQL (entrambi gratuiti e preinstallati in tutti i server Linux).

Come vedete dalla tabella, PHP e Javascript sono linguaggi complementari. Scordatevi, con PHP, di cambiare un'immagine al passaggio del mouse (il classico "mouseover" per i rollover) perché PHP gira sul server, e non può sapere quando voi cliccate o passate il mouse in una determinata area; di contro, scordatevi con Javascript di interrogare un database remoto, eseguire un login di un utente e magari memorizzare la sessione.

Indice dei contenuti

  •  
  •  
  •  

Esistono altri linguaggi simili a PHP?

Di sicuro avrete sentito parlare di altri linguaggi di scripting utilizzati nel web: , Cold Fusion, JSP...

Per quale motivo dovreste preferire PHP ad ASP, Cold Fusion o a JSP? In effetti PHP ed ASP servono più o meno alle stesse cose; ASP è preferito su ambienti Microsoft, PHP su UNIX/LINUX (attenzione: stiamo parlando dell'utilizzo lato server, potrete testare i vostri script php su un -windows senza problemi, come vedremo in seguito).

Tra i due, personalmente consiglio PHP perché utilizza una sintassi C-LIKE, quindi simile al C, al C++, al Perl, al , al Javascript. Se già conoscete uno di questi linguaggi, PHP è una passeggiata. Se non li conoscete, grazie a PHP potrete apprenderli più facilmente.

Niente male per il vostro curriculum.

Cosa occorre per creare pagine PHP?

In sostanza due cose:

  • un web server (ovvero il che si occupa di gestire le connessioni e restituire le pagine interpretate), nel nostro caso Apache
  • il "motore" che interpreta gli script PHP.

Per prima cosa occorre cercare un provider che ospiti le nostre pagine e che, ovviamente, supporti PHP.

Non tutti i provider supportano PHP, altri usano Asp, alcuni Cold Fusion.. informatevi prima.
Questo ovviamente nel caso in cui vogliate mettere online i vostri script; ma se voleste solo eseguire dei test e imparare PHP sul pc di casa?

La soluzione è installare il web server e il motore PHP in locale, proprio sul nostro computer.

Potete installare Apache e PHP sia su Linux (ambiente in cui sono nati) sia su Windows. Nei sistemi Linux/Unix sono pacchetti preinstallati, quindi di norma non serve fare operazioni particolari.

L'installazione e la configurazione su sistemi Windows non è semplice, ma esistono dei pacchetti che con un semplice doppio click si occupano di tutto:

Oltre ad installare il web server e configurarlo adeguatamente per il motore PHP, mette a nostra disposizione nientemeno che MySQl (si pronuncia "maisiquel", non fatevi sentire con il "maiesquel" tipico dei neofiti -tra un paio di lezioni non lo sarete più.. -), un database con il quale potremo interagire da subito.

Tutti questi prodotti (il web server, il motore PHP, il database) sono freeware quindi possiamo utilizzarli senza problemi (in barba al caro Access..)

Entrambi i software sono semplici da installare e configurare. XAMPP mette a disposizione anche degli esempi di codice per comprendere subito come funziona.

L'installazione di EasyPHP è immediata, il solito doppio click e seguiamo il wizard. Al termine, anche se non richiesto, riavviamo il sistema. A questo punto basta cliccare sulla "e" nella cartella dei programmi ed il web server è a nostra disposizione!

Soluzioni complete per ogni esigenza