Introduzione a PHP

di Jesus M. Castagnetto, in Altre tecnologie,

Il PHP è un linguaggio di scripting server-side che consente lo sviluppo sia di siti generati dinamicamente, che di applicazioni che incorporano connessioni a database e data processing. La sua forza, flessibilità e scalabilità ne fanno uno dei più popolari linguaggi di scripting server-side su piattaforme Unix/Linux. Inoltre la precisa definizione della sua sintassi e dei suoi costrutti lo rendono più amichevole dei Perl, Python, C/C++ o anche delle stesse ASP. Il PHP offre una pletora di funzionalità per gli sviluppatori web, consentendo così di potere produrre un codice solido, compatto e riutilizzabile.

In questo articolo concentrerò la mia attenzione sulla Versione 3.0.7 del linguaggio, comunemente detta PHP3. Qui l'acronimo sta per "PHP Hypertext Pre-processor".

La nascita del PHP3 ci riporta indietro ai primi giorni del web, nel 1994, quando Rasmus Lerdorf utilizzò una serie di script Perl per registrare le visite che un suo curriculum on-line riceveva. L'anno seguente egli rilasciò una serie di utility chiamata "Personal Home Page Tools", riscrisse il parser e incorporò un altro dei suoi tools, (FI: Form Interpreter, utilizzato per processare l'input da form HTML) per poi portare tutto questo verso la Versione 2 del PHP/FI nell'estate del '95.

Un paio di anni dopo, la responsabilità dello sviluppo del PHP fu trasferita ad un ben distribuito e organizzato team di lavoro, che migliorò ulteriormente il parser e fece cambiamenti alle potenzialità e alla sintassi del linguaggio, creando ciò che noi oggi conosciamo come PHP3.

I fondamenti

L'approccio al PHP sarà semplice per chi abbia acquisito familiarità con altri linguaggi strutturati o orientati agli oggetti. Anche per chi ha una limitata esperienza di programmazione, i fondamenti di questo linguaggio sono lungi dall'essere molto impegnativi. Ad ogni modo, se ci si dovesse bloccare durante lo sviluppo di un progetto, è possibile trovare in rete numerosi siti che raccolgono codice PHP, così come una vivace mailing list e anche board web-based. Maggiori dettagli possono essere trovati alla fine dell'articolo.

Tipi di variabile

Il PHP è un linguaggio non fortemente tipato, nel senso che esso consente l'assegnamento di tipi diversi all'istanza di variabile in diversi punti del codice, che il parser provvede ad interpretare a secondo del caso. Questa facilità del linguaggio può essere una ricchezza quando si sviluppano librerie generali, ma può anche creare delle difficoltà a chi non sia ancora esperto.

Il PHP riconosce i seguenti tipi di variabile:

  • integer
  • double
  • string
  • array
  • object
  • pdfdoc
    e
    pdfinfo
    (se il supporto per l'Adobe Portable Document Format è compilato)

Si può specificare il tipo di variabile o lasciare che il parser lo indovini a partire dal contesto di utilizzo (questa funzionalità, nel manuale del PHP , viene definita "Type Juggling"). Oltre a questi comuni tipi di variabile, vi sono anche le variabili variabili , che possono essere utilizzate con qualsiasi dei tipi di variabile sopra specificati e anche con i nomi di funzione. La disponibilità delle variabili variabili consente di poter scrivere del codice veramente generico.

A questo punto è lecito chiedersi cosa sia realmente una variabili variabile. Innanzi tutto è impostata dinamicamente e non esiste fino a quando non le sia stato assegnato un valore. Ciò viene mostrato nel codice seguente:

Listato 1: varvar.php3

<?php 

/* Script che esemplifica l'uso delle variabili variabili */ 

$foo = "le varvars sono toste"; 

$bar = 1.23; 

$fiz = array (3, 2, 1, "kaboom!!"); 

/* assegna le variabili a $vv */ 

$vv = "foo"; 

echo("Variabile: $vv, Valore: ${$vv}, Tipo: ".gettype(${$vv})."\n"); 

/* mostrerà: Variabile: foo, Valore: le varvars sono toste, Tipo: string */ 

$vv = "bar"; 

echo("Variabile: $vv, Valore: ${$vv}, Tipo: ".gettype(${$vv})."\n"); 

/* mostrerà: Variabile: bar, Valore: 1.23, Tipo: double */ 

$vv = "fiz"; 

echo("Varabile: $vv, Tipo: ".gettype(${$vv})."\n"); 

/* mostrerà: Variabile: fiz, Tipo: array */ 

for ($i=0; $i < count(${$vv}); $i++) { 

echo ("L'elemento $i è ".${$vv}[$i]."\n"); } 

/* mostrerà: 

L'elemento 0 è 3 

L'elemento 1 è 2 

L'elemento 2 è 1 

L'elemento 3 è kaboom!! 

*/ 

?>

Analisi: Il parser incontra

${$vv}
alla riga 8, che prima di valutare sostituisce con il contenuto di
$vv
così
${$vv}
è valorizzato a
$foo
. Una sostituzione simile è presente alle righe 11, 14, 15 e 16.

È importante notare come vengono usate, per eliminare le ambiguità nell'identificazione delle variabili variabili, le parentesi nel codice sopra. Per eliminare accuratamente le ambiguità e prevenire ogni possibilità di false interpretazioni nelle varie fasi del ciclo è bene abituarsi subito a questo tipo di scrittura ? se, per esempio, scrivessimo

$$vv[0]
, il parser non sarebbe in grado di distinguere tra due possibili interpretazioni:

  • "Il primo elemento dell'array della variabile referenziata da
    $vv
    " (ad es.
    ${$vv}[0]
  • )
  • "Il valore della variabile il cui nome è contenuto nel primo elemento dell'array
    $vv
    " (ad es.
    ${$vv[0]}
  • 3 pagine in totale: 1 2 3
    Contenuti dell'articolo

    Commenti

    Visualizza/aggiungi commenti

    | Condividi su: Twitter, Facebook, LinkedIn

    Per inserire un commento, devi avere un account.

    Fai il login e torna a questa pagina, oppure registrati alla nostra community.

    Approfondimenti

    Nessuna risorsa collegata