Imparare il PHP: Le basi
autore: Orebla
xx/xx/xx
Le variabili:
Il php come tutti i linguaggi di
programmazione ha delle variabili da definire che verranno usare per
creare le nostre pagine web dinamiche. Però prima è bene fare un passo
indietro e definire come si crea una semplice pagina php.
Perché il nostro web-server
riconosca e quindi elabori (state bene attenti perché se il web-server
non riconosce il codice come PHP non lo elaborerà! Quindi sarà visibile
a tutti!). Ora tutte le pagine PHP, la maggior parte, hanno come
estensione .php. Perché ho specificato quasi tutte, be perché è
possibile fare in modo che il server riconosca come pagine PHP l’estensione
.bohciao invece di .php, questo non cambia assolutamente nulla a come
verra scritto il codice all’interno.
Ora per dare la possibilità al
nostro server di riconoscere quale parte di codice deve elaborare dobbiamo
farlo iniziare con <? O <?php e farlo finire con ?> così il
nostro web-server saprà cosa elaborare. Voi direte be non basta dargli
estensione .php?? No non basta perché all’interno della pagina .php ci
potrà essere (come vedremo in qualche esempio più avanti) del codice
HTML e questo non c’è bisogno di farlo elaborare dal server.
Facciamo un esempio, chiamiamo questa
pagina
prova.php:
CODICE PAGINA:
<HTML>
<HEAD><TITLE>Prova
di pagina con codice PHP</TITLE>
</HEAD>
<BODY>
<?php
$mionome = "Orebla";
echo $mionome;
?>
</BODY>
</HTML>
Se adesso richiamiamo questa pagina
il server la elaborerà e ci restituirà:
TESTO MOSTRATO A VIDEO:
<HTML>
<HEAD><TITLE>Prova
di pagina con codice PHP</TITLE>
</HEAD>
<BODY>
Orebla
</BODY>
</HTML>
Come avete visto all’interno di
<? E ?> ci va solo il codice PHP se per caso inseriamo un TAG HTML
il nostro web-server al momento dell’esecuzione ci darà un errore,
perché non riconoscerà il TAG. State bene attenti.
Un’ultima cosa poi passiamo alla
descrizione delle variabili. Come avrete notato alla fine di ogni riga del
codice PHP (esclusi <? E ?>) ci sono dei ; (punto e virgola), questo
è tanto fondamentale come lo sono <? E ?>. Se vi scordate questi ;
alla fine di tutte le righe (salvo alcune eccezioni che poi vedremo) il
web-server vi darà errore. Vi posso assicurare che quando scrivi molte
pagine di codice è facile dimenticarseli, per fortuna il web-server
quando trova un errore ci indica sommariamente di che tipo è e in che
riga si è verificato (state bene attenti a controllare anche la riga
precedente e successiva, perché a volte non è proprio preciso al 100%).
Bene ora possiamo procedere con la
descrizione delle variabili.
2.1.1 Descrizione
Come abbiamo già visto in precedenza
la definizione di una variabile si fa attraverso il simbolo di
uguaglianza, un po come negli altri linguaggi di programmazione. Come
sappiamo una variabile è uno spazio di memoria in cui viene tenuto un
certo valore per poterlo richiamare più avanti nel programma o script.
Però avrete notato un grande particolare mancate, se siete già abili con
altri linguaggi di programmazione….. Manca la dichiarazione!!! Bene
toglietevela dalla testa perché ci penserà il motore del PHP ad
assegnare alle variabili il tipo giusto. Voi non dovrete fare altro che
assegnarli un valore e poi al tipo (che sia integer(numerico), double(numerico),
stringa(testo)..) ci penserà il PHP.
Bene fatta questa premessa,
incominciamo: prima di tutto una variabile PHP è caratterizzata da il
simbolo del dollaro
$, cioè non si può mettere nome = "orebla"
perché non riconoscerà nome come una variabile però se scriviamo $nome
= "Orebla" assegnerà a $nome il valore di stringa Orebla (non
ho messo i punto e virgola per fare prima ma vi ricordo che è
obbligatorio!!)
Come ho detto poc’anzi il PHP non
necessita di dichiarazione di variabili, bisogna però specificare che
quando dichiarate una variabile la richiudete tra "" la
dichiarate come stringa.
Quindi se abbiamo:
<?
$nome = "Orebla";
$eta = "20";
?>
Il valore 20 non verrà considerato
come numerico ma come stringa, ora, se dovete solo utilizzarlo come valore
cioè al massimo lo visualizzate non comporta nessun problema, però se
dovete farci calcoli matematici come addizionare tra di loro valori
numerici (salvati però come stringhe) si potranno ottenere valori
inattasi.
Se volete indicarlo come variabile
numerica fate la stessa cosa però togliete le "" (virgolette).
Un’altra cosa su cui fare tanta attenzione è come scrivete il nome
delle variabili:
scrivere
$nome = "Orebla"
non è come scrivere
$Nome = "Orebla" se poi la andate a
visualizzare tramite il comando echo (cioè scrivete echo $Nome) non
otterrete nulla in quanto la variabile $Nome non è definita. State bene
attenti perché se scrivete codici molto lunghi e fate un errore del
genere vi ci vorranno molte ore prima di trovare l’errore, quindi è
sempre bene dare alle variabili nomi diversi che vi ricordino il loro
significato. Un’ultima cosa state attenti a non inserire caratteri
speciali come nomi di variabili, potrebbe capitare che il server non
capisca, usate solo lettere semplici se notate infatti io non ho scritto
$età
ma ho scritto
$eta.
Parliamo ora del concatenamento delle
stringhe, come tutti i linguaggi questo è presente anche nel PHP. Per
concatenare due o più stringhe basta legarle con un punto con uno spazio
prima e dopo ( . ). Facciamo un esempio:
CODICE
<?
$nome = "Orebla";
$eta = "20";
echo "Benvenuto " .
$nome . ", tu hai " . $eta . " Anni";
>?>
Il nostro risultato sarà:
Benvenuto Orebla, tu hai 20 anni
Sembra difficile, ma fidatevi che non
lo è. Per chi ha già esperienza in programmazione sarà una passeggiata.
Vediamo i particolari della riga echo "Benvenuto ".$nome.",
tu hai ".$eta." Anni"; notate che il comando echo (sarà
spiegato più avanti) "stampa" in schermata ciò che noi gli
diciamo; io gli ho detto di scrivere
Benvenuto, l’ho messo fra
virgolette per fargli riconoscere ciò che c’è al suo interno come una
stringa da stampare, poi gli ho concatenato la variabile $nome usando il
punto con gli spazi ( . ).
Bene come prima vi ho accennato il
PHP non necessita di dichiarazione di variabili, però riconosce le
stringhe se le mettiamo all’interno delle "" (virgolette). Per
i valori numerici, se li vogliamo considerare tali, basta non mettere le
"" (virgolette). Esistono due tipi di valori numerici
integer
e
double, esempio:
$integer = 45;
$integeraltro = -4548;
$double = 4.56;
$doublealtro = -25.64;
come avete visto qualsiasi numero
intero (tipo 45 o –4548) diventa un
integer mentre una frazione
(tipo 4.56 o –25.64) è considerato
double. Ora i valori di
integer
e
double cambiano sul tipo di piattaforma usata, per esempio su
Windows un
integer PHP comprende i numeri da –32,768 a 32.767
mentre un
double PHP contiene valori da 1.79749313486232E308 a –4.94065645841247E-324
(per valori negativi) e da 4.94065645841247E-324 a 1.79769313486232E308
(per valori positivi).
APPUNTO:La
notazione E (notazione esponenziale) impiegata prima è il metodo che PHP
– in realtà vale per tutti i linguaggi di programmazione – utilizza
per rappresentare facilmente numeri molto piccoli e molto grandi. Si
scrive il numero moltiplicato 10 ed elevato alla potenza (esponente) di un
altro numero. Per esempio 2.5E3 rappresenta 2.5x10^3 cioè 2500.
Con PHP è facile eseguire semplici
operazioni matematiche, ma anche complicate operazioni. Per effettuare le
più semplici basta ricordarsi ciò che si è imparato a scuola cioè:
|
OPERATORE |
OPERAZIONE |
|
+ |
Addizione |
|
* |
Moltiplicazione |
|
- |
Sottrazione, ma anche operatore unario per valori negativi (-6) |
|
/ |
Divisione |
|
% |
Modulo (calcola il resto di una divisione) esempio 8%5=3 |
Partiamo subito con qualche esempio,
dato che il loro uso è molto intuitivo:
CODICE:
<?
// calcoliamo il conto di un bar
$caffeprezzo = 2;
$pastaprezzo = 1;
$contototale = $caffe + $pasta;
echo "Il totale è: " .
$contototale . "€";
?>
Quindi ci verrà visualizzato:
Il totale è: 3€
Ora sicuramene avrete notato subito
che c’è qualcosa di diverso, qualcosa che non vi ho mai illustrato. Si
ci avete preso sono due // (slash), non ve l’ho illustrato prima perché
il loro uso è molto facile e intuitivo. Ciò che viene scritto dopo
questi due slash (//) viene considerato come appunto e non viene elaborato
dal server e neanche inviato al browser. È utilissimo quando scrivete
molte righe di codice e volete ricordarvi a cosa servono.
Esempio:
//prezzo caffe
$caffeprezzo = 2;
//prezzo pasta
$pastaprezzo = 1;
State solo attenti che questo vale
per una riga solo cioè se voi scrivete un appunto che occupi più di un
riga dove ripetere i due slash (//) all’inizio di ogni riga!! Oppure
usate /* (backslash + asterisco) all’inizio dell’appunto e il
contrario */ alla fine.
Bene ora si possono eseguire molte
operazioni con solo questi pochi operatori che vi ho elencato, se siete
appassionati di matematica il PHP mette a disposizione anche altre
funzioni che ora però non vi elenco ma più avanti ne citerò qualcuna.
2.1.2 Conversioni
Come prima vi ho detto se mettete un
valore numerico tra "" il PHP la dichiarerà come stringa,
mettiamo però che voi la volete trasformare in un valore numerico perché
vi serve per eseguire dei calcoli. Bene perché PHP mette a disposizione
delle funzioni per fare ciò e anche per vedere con che tipo di dato è
stata dichiarata.
Facciamo un esempio:
CODICE:
<HTML>
<BODY>
<?
$valore = "6.0B";
$tassa = 5;
$pagare = $valore * $tassa;
echo "Tipo: " . $valore
. "<br>";
echo "Tassa da pagare per
questo tipo: " . $tassa . "<br>";
echo "Totale tassa: " .
$pagare . "<br>";
?>
</BODY>
</HTML>
Salviamo questa pagina come
convertire.php
Quando la eseguiremo ci comparirà:
Tipo: 6.0B
Tasssa da pagare per questo tipo: 5
Totale tassa: 30
In questo caso il PHP ha
"detto": non mi interessa se c’è una B vedo il numero e posso
utilizzarlo, quindi in totale fa 30.
Fino ad ora vi ho detto di scordarvi
di dichiarare le variabili perché PHP lo fa automaticamente, questo è
ancora vero però per chiarezza è bene specificare che esiste una
funzione detta di "casting" che permette di dichiarare le
variabili semplicemente scrivendo così:
$nomevariabile = "ciao";
$nomevariabile = (integer)
$nomevariabile;
Cosa ho fatto, niente di speciale, ho
prima assegnato il valore all’interno della variabile e nello stesso
tempo lo definita poi ho definito il tipo di dati presenti al suo interno
mettendo tra parentesi il tipo.
Parliamo ora delle funzioni
gettype()
e
settype().
Prima vi ho accennato che esistono
delle funzioni per visualizzare il tipo di dato di una variabile, bene
questa funziona si chiama gettype(). Il suo funzionamento è molto
semplice basta inserire all’interno delle parentesi la variabile.
Esempio:
$valore = "ciao";
gettype($valore);
Bene però per poterlo visualizzare
utilizziamo il comando echo:
echo gettype($valore);
Lui ci restituirà
Integer.
Ora prima ho accennato anche alla
funzione settype(), bene settype non è altro che una funzione di casting.
Ci permette di definire il tipo di dati di una variabile, funziona così:
$numero = 10;
settype($numero, "string");
Come potete notare la funzione
settype pretende due valori all’interno delle sue parentesi, il primo è
la variabile a cui si vuole modificare il tipo di dati poi separato da una
virgola (,) e tra virgolette ("") il valore che gli si vuole
assegnare.
Funzioni isset(),
unset() e empty()
Queste tre funzioni vengono
utilizzate per le variabili. Ora isset() serve per verificare su una
funzione è già stata creata.
Esempio:
echo isset($var);
Se la variabile esiste ci restituirà
il valore 1 se invece non esiste non ci restituirà niente neanche 0.
Unset() serve per eliminare
completamente una variabile, attenzione dopo l’utilizzo di questa
funzione il nome e il valore della variabile non esisterà più. Come
parametro anche questa funzione accetta il nome della variabile.
Esempio:
unset($var);
D’ora in poi la variabile $var non
esisterà più.
L’ultima funzione è empty(), è l’esatto
opposto logico di isset(). Questa funziona nello stesso modo però
restituisce 1 se non c’è alcuna variabile oppure se è uguale a 0
oppure uguale a "" (cioè vuota), al contrario non restituisce
niente.