Tutte le istruzioni PHP finiscono con il carattere ; (punto e virgola)
I nomi di variabili in PHP incominciano tutti con il carattere $ e non devono contenere caratteri speciali nè spazi. La dichiarazione non è obbligatoria .
In PHP esistono cinque tipi di dati:
Il linguaggio PHP è un linguaggio a tipizzazione debole: questo significa che le variabili non hanno un tipo predefinito, e l'interprete PHP cerca di capire dal contesto di quale tipo di dato si tratta.
Inoltre nel corso dell'esecuzione di un programma le variabili possono anche cambiare di tipo, cioè è possibile per esempio assegnare una stringa ad una variabile che prima conteneva un numero e viceversa.
Se si usa il PHP dalla riga di comando, l'input avviene leggendo dallo standard input (tastiera):
L'istruzione di lettura è una funzione, quindi va preceduta dall' assegnazione alla variabile di input.
Es.: $a=fgets(STDIN)
Dato che a volte viene inserito uno spazio iniziale davanti all' input, è necessario eliminarlo, usando per esempio la funzione trim().
N.B.: nelle versioni PHP precedenti alla 5.0, è necessario aprire prima lo standard input proprio come fosse un file:
Gli argomenti provenienti da un form in una precedente pagina, hanno lo stesso nome dei campi di input del form con il $ davanti
Nelle versioni successive alla 4.0, bisogna usare invece l'array associativo $_POST (oppure $_GET). In alternativa, si può modificare il file php.ini per mantenere la compatibilità con le versioni precedenti.
L'output si ottiene con echo
Es: echo "ciao mondo";
echo $a;
Le assegnazioni avvengono con il simbolo =
CALCOLI: con i soliti operatori matematici: + - * /
CONCATENAMENTO STRINGHE: con il . (non il +)
CONDIZIONI: gli operatori di confronto e logici sono uguali a javascript
SELEZIONE: if (condizione) {istruzioni} else {istruzioni} (come javascript)
RIPETIZIONE: while (condizione-ripetizione) {istruzioni} (come javascript)
do {istruzioni} while (condizione-ripetizione)
RIPETIZIONE ENUMERATIVA: foreach ($vettore as $variabile) {istruzioni}
for (inizializzazione; condizione-di-uscita; incremento) {istruzioni}
L'operazione di apertura localizza un file sul disco e crea le strutture per usarlo, vale a dire un file handler (puntatore all'oggetto file) a cui viene associato un buffer di lettura/scrittura.
La sintassi per l'istruzione di apertura di un file è la seguente:
$f=fopen(“percorso/nome.ext”,”m”)
Dove il primo argomento tra virgolette (ma potrebbe anche essere una variabile) rappresenta il nome del file, con il percorso (assoluto o relativo) ed m rappresenta il modo di apertura che può essere:
w | Apre in output. Il contenuto del file viene sovrascritto a partire dall'inizio. Quindi se il file contiene dei dati viene cancellato L'unica operazione consentita dopo questa apertura è la scrittura | a | Apre in append. I dati possono essere aggiunti a partire dalla fine del file L'unica operazione consentita dopo questa apertura è la scrittura |
r | Apre in input I dati possono essere letti dal file. Le operazioni consentite sono la lettura ed anche il posizionamento |
r+ | Apre in I/O (input/output). I dati possono essere letti e scritti Consente tutte le operazioni |
w+ | Apre in output e input Questo significa che il file viene cancellato, poi può essere scritto e anche letto. Consente tutte le operazioni |
la variabile $f rappresenta l' identificatore del file (file handler), e viene usata nelle istruzioni successive per indicare a quale file si fa riferimento.
Infatti non è detto che in un programma si faccia riferimento ad un solo archivio, quindi è importante avere il modo di specificare su quale si vuole compiere una determinata operazione.
L' operazione di chiusura garantisce che tutti i dati presenti nel buffer vengano trascritti nel file.
E' buona norma chiudere un file non appena è terminato il suo utilizzo. In ogni caso, se il programma termina regolarmente, rilascia comunque tutte le risorse allocate, e quindi anche il file. In un ambiente multiutente, è bene comunque rilasciare le risorse non appena possibile
fclose($f)
$record=fread($f, lunghezza)
$record rappresenta la variabile letta: di solito con un istruzione si legge un intero record (registrazione, riga) del file.
$f è l'identificativo del file ottenuto dall'operazione di apertura
lunghezza rappresenta la lunghezza del record da leggere, o comunque il numero di byte che i desidera leggere
N.B. : questa istruzione è più indicata per leggere da un file con record a lunghezza fissa
Per leggere da un file con record a lunghezza variabile è meglio fgets che ha la stessa sintassi, ma che interrompe la lettura quando incontra il simbolo di fine riga.
fwrite($f, $record)
$record è la variabile da scrivere: solitamente si scrive un intero record (registrazione)
$f è l'identificativo del file ottenuto tramite l'operazione di apertura.
N.B.: per leggere dai file con record di lunghezza variabile, a volte si usa l'istruzione fputs al posto di fwrite, ma solamente per analogia con fgets.
Il funzionamento e la sintassi di fwrite e fputs sono del tutto identici
feof($f)
Si può inserire in un if o in un ciclo.
Si può usare anche al contrario, cioè
!feof($f)
Il posizionamento si può usare solo nei file con record a lunghezza fissa. Se la lunghezza è variabile, non è possibile prevedere dove saranno collocati i record.
fseek($f, $pos)
$pos è la posizione calcolata in byte da dove si inizierà a leggere o a scrivere$pos = ($N-1) * $L
Dove $N rappresenta il numero del record desiderato, e $L la lunghezza dei record.
Il puntatore viene posizionato sul byte successivo.
$vettore=file(“percorso/nome.ext”)