PHP (Hypertext Preprocessor) è un linguaggio di scripting, quindi non deve essere compilato come Java ma deve essere interpretato come JavaScript.
Il client fa una richiesta al server, che interpreta e processa il PHP e restituisce al client i dati richiesti a partire dal file index.php.
Tutto ciò che è compreso tra i tag <?php e ?> viene interpretato, il tag di chiusura non è necessario se tutta la pagina è in PHP, ma potrebbe anche non essere così, una pagina .php potrebbe contenere ad esempio sia PHP che HTML statico.
Comandi di base
echo e print: servono per stampare sulla pagina dati e variabili. echo viene utilizzato per visualizzare testo semplice o codice HTML mentre print viene utilizzato in espressioni o funzioni più complesse in cui è necessario un valore di ritorno.
Le variabili iniziano con il carattere $, le costanti invece devono essere definite con la funzione define che accetta due parametri, il primo è il nome della costante (di solito si scrive in maiuscolo) e il secondo è il valore e non si indicano con il $. Un altro modo per definire una costante è la keyword const.
I nomi delle variabili possono essere dinamici utilizzando il concetto di variable variable.
<?php
$name = 'Elena';
echo $name;
echo "Ciao {$name}";
echo 'Ciao '. $name;
$x = 1;
$y = $x;
$x = 3;
echo $y; // stampa 1
$x = 1;
$y = &$x; // passaggio per riferimento con il carattere &
$x = 3;
echo $y; // stampa 3
$nomevariabile = 'paese';
$$nomevariabile = 'Italia'; //prende il valore della prima variabile e lo usa come nome della seconda variabile
define ('USER_NAME', 'Elena'); //definita quando lo script è eseguito
echo USER_NAME;
//per sapere se una costante è definita
echo defined('USER_NAME'); //stampa 1 se è definita 0 se non lo è
//questo non si può fare con const
if (is_dev_environment()) {
define("DEBUG_MODE", true);
} else {
define("DEBUG_MODE", false);
}
const MAX_USERS = 100; //definita appena inizia lo script, anche se quella riga di codice non verrà eseguita
echo MAX_USERS;
$prefix = "MAX_";
define($prefix . "USERS", 100); //non possibile con const
define("APP_VERSION", "1.0.3", true); //il terzo parametro serve per rendere il nome della costante case insensitive
echo APP_VERSION;
echo app_version;
echo App_Version;
?>
//l'HTML può essere stampato dentro o fuori dal PHP
<h1><?php echo 'Ciao '. $name; ?></h1>
<?php echo '<h1>Ciao ' . $name. '</h1>'?>
Per avere informazioni sull'attuale configurazione di PHP è possibile usare la funzione phpinfo($flag) in modo da poter verificare le impostazioni di configurazione e le variabili predefinite disponibili su un determinato sistema. E' anche uno strumento di debug in quanto contiene tutti i dati EGPCS (Environment, GET, POST, Cookie, Server). Può essere passato un parametro per indicare che tipo di informazioni si vuole ottenere, ad esempio phpinfo(INFO_ENVIRONMENT) da informazioni sulle variabili d'ambiente (è come stampare la variabile $_ENV).