Piero V.

Brainstorming su... PHP

La gente che conosco che si mette a programmare in PHP si lamenta dell’assenza delle guide valide in italiano…

In realtà non servono libroni per capire questo linguaggio… ma un po’ di introduzione generale fa sempre bene.

Cos’è PHP?

Stabiliamolo subito: “PHP è un linguaggio di programmazione di alto livello interpretato”.

Linguaggio di programmazione: semplifichiamo dicendo che il PHP è un insieme di istruzioni da eseguire.

Di alto livello: il livello in programmazione indica quanto il codice è comprensibile dagli umani: un livello alto vuol dire che è facilmente comprensibile (PHP, C++ etc…) mentre di basso livello vuol dire che è difficile da capire (Assembly etc…).

Interpretato: PHP non ha una fase di “compilazione”, cioè da PHP non si ricava un eseguibile che può essere fatto girare da solo sulla macchina, bensì PHP ha bisogno di un software chiamato interprete, che legge il PHP e lo esegue.

In realtà esistono dei compilatori, ma non è l’uso “ufficiale” di PHP.

Cosa non è PHP?

È importante capire anche cosa non è PHP.

PHP non è HTML: il PHP può mandare in output l’HTML, però come ogni linguaggio di programmazione è un linguaggio che, una volta eseguito, manda in output ciò per cui è programmato, e non il suo sorgente.

PHP non è strettamente legato al web, pur essendo la sua principale applicazione. Infatti tra gli usi possibili di PHP ci sono quello da cli o esiste il progetto PHP-GTK.

Anche se si esegue PHP da un server web, lo script rimane eseguito su un computer, pertanto il percorso che tu vedi nell’URL, non è quello reale dello script!

Ambiente

Ovvero: dove stai facendo girare PHP?

Esistono due tipi di ambiente: quello di sviluppo e quello di produzione. Il primo è quello in cui si produce il codice, il secondo è quello “di destinazione”, dove deve girare la vostra applicazione disponibile al pubblico.

Quando sviluppate è bene avere il reporting di tutti gli errori abilitato: vi faranno capire dove sbagliate e se ci saranno problemi sarete molto più veloci a capire dove sono, mentre nell’ambiente di produzione è meglio tenere gli errori disattivati, o potrebbero essere usati da gente malintenzionata.

Per cominciare a programmare vi consiglio di installarvi nel vostro computer PHP e un web server da soli: installate PHP e web server passo per passo. Su windows scegliete il php.ini-development.

Inoltre per scrivere codice un editor che offre l’evidenziamento del codice contribuisce molto. Quando si dice che si può tranquillamente usare il notepad per programmare lo si dice per fare un esempio. Su windows è molto meglio usare Notepad++, su Linux io mi trovo bene con bluefish. Quest’ultimo mi propone addirittura la documentazione delle funzioni built-in di PHP mentre le uso: se non vi ricordate i parametri che una funzione supporta vi fa risparmiare molto tempo.

Protocollo HTTP

Il principale uso di PHP è nel web, associato al protocollo HTTP.

Cosa è HTTP e a cosa serve?

Faccio questo esempio qua: è come se tu dovessi andare a chiedere all’ufficio anagrafe dei documenti e per farlo dei riempire dei moduli: questi moduli sono l’equivalente di HTTP.

Quando visiti un sito, tu dici al server cosa vuoi ottenere per mezzo di stringe di testo. Questa è la richiesta del client.

Allora il server risponde con altre stringhe di testo, chiamate header, dopodiché lascia una riga vuota e comincia il contenuto vero e proprio.

Può essere ogni tipo di contenuto: non fa alcuna differenza per il funzionamento di HTTP. Per le pagine web, per esempio, il contenuto è nel formato HTML.

Quando si usa HTTP per il web, il web-server esegue lo script prima di dare la risposta: infatti PHP può manipolare gli header a proprio piacimento e poi restituisce il contenuto.

Un errore che si commette spesso all’inizio è di dare del contenuto e poi voler scrivere dei cookie: è sbagliato perché anche i cookie sono degli header.

Consigli pratici

Tutte le funzioni built-in di PHP o delle estensioni ufficiali sono documentate sul sito PHP.net e può aiutarvi molto quando avete problemi.

Se non trovate lì, cercate sui vari motori di ricerca: qualcuno sarà sicuramente passato sui vostri errori e avrà trovato la soluzione.

Se il vostro programma non funziona, provate a togliere parti di codice e a vedere quale non funziona. Ricordatevi che var_dump, echo, print_r e die sono sempre a vostra disposizione.

Poco codice non vuol dire codice semplice: poche righe potrebbero anche significare un lavoro molto complesso.

Abituatevi a commentare il codice sin da subito: vi aiuta a pensare a ciò che volete ottenere e se è un passo veramente utile. Inoltre se modificherete il file nel futuro vi ricorderete perché avete fatto una certa azione.

Questo articolo si conclude qui: il mio obbiettivo non era fare una guida, ma solamente chiarire certi aspetti che possono aiutare nella programmazione.

19 commenti