Imparare PHP

Selezione di links da Manuale PHP per un primo percorso di studio degli elementi fondamentali

Vedi e individua le nozioni principali: Manuale PHP
Breve prefazione + Autori e Collaboratori: Prefazione
Alcune considerazioni preliminari (forse non così utile come prima lettura): Intro
QUELLO DA STUDIARE: Il linguaggio di programmazione PHP
NOTA: La funzionalità di PHP per highlight il codice PHP in una pagina HTML, come sotto: highlight-string (un trucco utile per pubblicare e commentare il codice)UN GIOCO DA COMPIERE. NOTA: Per iniziare a familiarizzarsi con la stile della programmazione, può essere utile che immaginiate di svolgere il seguente gioco: siete un impiegata/o è dovete eseeguire -senza chiedere chiarimenti a voce- una serie di istruzioni del vostro capoufficio. Queste istruzioni sono scritte in un linguaggio molto semplice, che comprende

Preliminari

PHP tags, Instructions, Comments (cose banali, ma da capire per poter procedere): Basic Syntax

<?php  // PHP tags, in apertura e chiusura del file .php
echo 'This is a test'// Questo è un commento su una stessa riga 
/* Questo è un commento su più righe
    ecco qui la seconda riga */
echo 'This is yet another test';  // nota il punto e virgola per separare una istruzione dalla successiva

?>;

This is a testThis is yet another testOne Final Test

Script. Statements, Istruzioni.

Uno script PHP è un file scritto in linguaggio PHP, salvato nel webserver con estensione .php, composto da righe di codice, ognuna della quali è uno statement, dove:
vedi qui: any PHP script is built out of a series of statements. A statement can be an assignment, a function call, a loop, a conditional statement or even a statement that does nothing (an empty statement). Statements usually end with a semicolon. In addition, statements can be grouped into a statement-group by encapsulating a group of statements with curly braces. A statement-group is a statement by itself as well.
In inglese, si usa la parola statements ma c'è una qualche ambiguità, confrontate queste due definizioni da wikipedia: La seconda, ma non la prima, definisce nel senso di un imperativo, che è appunto il senso usato in informatica

In particolare: Uno script è quindi un elenco di istruzioni, più o meno semplci, che qualcuno - il compilatore PHP - esegue per ottenere un risultato.

Echo

Siccome PHP è un linguaggio di programmazione orientato al Web, comprende delle funzionalità predefinite per permettere l'interazione client-server su cui si basa il funzionamento del Web, e in particolare per la la creazione e l'invio al client - il browser - (del codice) delle pagine web. In particolare comprende alcune istruzioni per inviare un testo dal lato server al lato client, e la principale tra queste è echo

echo 'Mario' 

che noi leggeremo stampa, o invia
Vedi echo.

Variabili

Variabili: Variabili
Variables in PHP are represented by a dollar sign followed by the name of the variable. The variable name is case-sensitive.
(case sensitive significa che è differente scrivere minuscolo da maiuscolo)
<?php
$var 
='Mario';
$Var 'Maria';
echo 
$var" e "$Var;      // outputs "Mario e Maria"

$var 'Paolo';
echo 
$var;  // outputs "Paolo" 
$var 'il mio nome &egrave; '.$var;  
echo 
$var// outputs ??
?>

Mario e Maria
Paolo
il mio nome è Paolo
-----
Nota: puoi anche scrivere $$var
<?php
$a 
'hello';
$
$a 'world';
echo 
$a'' $hello// outputs ??
echo $a'' .${$a}; // outputs ??
?>
hello world
hello world
-----
NOTA: Nel gioco dell'impiegato, può essere utile pensare all'istruzione di definire (meglio inizialiazzare) una varibiale con $a = b come all'istruzione di creare una busta scrivendoci sopra l'etichetta a e inserendovi all'interno il contenuto b. Ovviamente, se poi riceverete l\`istruzione di mostrare il contenuto della busta $a, prenderete la busta con etichetta $a, la aprirete e mostrerete il valore b. Similmente echo $a outputs b
-----
RICORDA

= non è l'uguaglianza

Quando si scrive $a = a, il simbolo = ha un valore operativo, indica l'assegnare il valore a alla variabile $a.
DA NON CONFONDERE con l'operazione di confrontare due espressioni per controllare se hanno lo stesso valore, operazione che pure si può compiere, e si indica con l'operatore ==, vedi qui sotto.

Array

Vedi definizione più tecnica a Array
In breve, gli array sono un meccanisco che permette di assegnare una lista di valori indicizzata da chiavi : keyvalue; ad ogni chiave corrisponde un valore:

<?php
 $array 
= array(
    
"foo" => "bar",
    
"bar" => "foo",
);
echo 
$array['foo'];  // che valore si stampa?
echo $array['bar'];  // che valore si stampa?
// multidimensionale
$array = array(
    
"mario" => "maria",
     
2     => 3,
    
"bar" => array(
         
"more" => array(
             
"bar" => "foo",
             
"foo" => $array
         
)
    )
);
echo 
$array['mario'];    // che valore si stampa?
echo $array[2];     // che valore si stampa?
echo $array['bar']['more']['bar']; // che valore si stampa?
echo $array['bar']['more']['foo']['foo']; // che valore si stampa?

?>
1

bar
foo

maria
3
foo
bar

NOTA: Pensa a un array come una generalizzazione delle variabili. Se le varibili sono buste con un contenuto, gli array sono bustoni, che contengono delle buste, ognuno con un proprio contenuto; e gli array multidimensionali sono bustoni di bustoni di ... con buste con un contenuto.

Foreach, For

Per utilizzare i dati assegnati ad un array, PHP prevede due costrutti di scansione dell'array: Foreach e For. Detto sbrigativamente, Foreach e For scorrono l'array, chiave per chiave, permettendo di accedere al corrispondente valore:

<?php
 
// considera che in php puoi avere
// array associativo
$disney = array("pippo" => "goofy""paperino" => "donald");

foreach(
$disney as $key => $value) {
    echo 
"it=" $key ", en=" $value "</br>";
}
// array indicizzato
$disney = array("goofy""donald"); 

$arrlength count($disney);
for(
$x 0$x $arrlength$x++) {
    echo 
$disney[$x]."</br>";
}
?>
1


it=pippo, en=goofy
it=paperino, en=donald

goofy
donald

Istruzioni, Espressioni


I linguaggi di programmazione, e tra questi PHP, hanno anche la possibilità di esprimere delle proposizioni, ovvero delle espressioni che possono essere valutate come Vere o False.

La domanda da farsi è quindi: quale proposizioni sono formulabili in PHP? Ovvero, quali espressioni sono tale che PHP può valutare se siano Vere o False?
La risposta è: in PHP sono formulabili le usuali proposizioni, che diremo atomiche, in cui si compara due valori: a == b, a > b, a >= b, a != b (avere lo stesso valore, avere valore maggiore di, avere valore maggiore o uguale e rispettivamente non avere lo stesso valore), in particolare la comparazione può essere sia tra numeri sia tra stringhe.

Inoltre sono formulabili e valutabili le combinazioni proposizionali mediante i connettivi && (e, congiunzione, AND), || (o, disgiunzione, OR), ! (non, negazione) delle proposizioni atomiche:

<?php
echo 'aaa'=='aaa';
echo 
'aaa'=='bbb'
echo 
3+4==7;
echo 
3+4==8;
echo (
3+4==&& 3>5);
echo (
3+4==|| 3>5);
echo (
3+4!=|| !(3>5));
echo (
'aaa'!='bbb' || !(3>5));
?>

1
0
1
0
0
1
1
1

NOTA: consulta il manuale per la lista completa degli operatori con cui si possono formulare proposizioni atomiche. In particolare studia:

Tipi di dati: Stringhe, Numeri, TRUE/FALSE

I valori, o dati, che possono essere elabarati da PHP sono di diversi tipologia, PHP prevede cioè diversi tipi di dati. In particolare, i principali tipi di dati sono le stringhe (di caratteri alfanumerici), i numeri (...,-3,-2,-1,0,1,2,3,...), i booleani, cioè i due valori TRUE (VERO) e FALSE (FALSO). (vi sono altri tipi di dati, poi vedremo meglio).
Alcune prime utili informazioni sono :