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
- e
pdfdoc
(se il supporto per l'Adobe Portable Document Format è compilato)pdfinfo
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}
$vv
${$vv}
$foo
È 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]
$vv
${$vv}[0]
$vv
${$vv[0]}
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.