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)

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 :