Parole Chiave PHP
Le parole chiave sono parole riservate con un significato predefinito in PHP che non possono essere usate come identificatori per variabili o funzioni.
Cosa Sono le Parole Chiave PHP?
Le parole chiave sono parole riservate a cui PHP attribuisce un significato incorporato. Definiscono la struttura del linguaggio — condizionali, cicli, classi, gestione degli errori e altro — quindi PHP le tratta in modo diverso rispetto ai nomi che si inventano. Questa pagina elenca tutte le parole chiave PHP, spiega le regole che le riguardano e mostra come vengono utilizzate le più comuni.
Poiché sono riservate, non è possibile usare una parola chiave come identificatore ordinario:
<?php
// These all cause a parse error — the words are reserved:
$list = []; // OK: "list" is fine as a variable name in modern PHP...
function for() {} // Parse error: "for" cannot be a function name
class If {} // Parse error: "if" cannot be a class nameDa questo derivano due regole pratiche:
- Le parole chiave non fanno distinzione tra maiuscole e minuscole.
if,IFeIfsignificano tutti la stessa cosa, quindiECHO "hi";funziona. (I nomi delle variabili e i nomi che si definiscono, al contrario, sono sensibili alle maiuscole e minuscole.) - Anche le costanti come
true,falseenullsono riservate. Si comportano come parole chiave anche se sembrano valori ordinari.
Elenco delle Parole Chiave PHP
La tabella seguente raggruppa le parole chiave in base alla loro funzione, il che le rende molto più facili da ricordare rispetto a un elenco piatto.
| Categoria | Parole chiave |
|---|---|
| Condizionali | if, else, elseif, endif, switch, case, default, endswitch, match |
| Cicli | for, endfor, foreach, endforeach, while, endwhile, do, break, continue |
| Funzioni e generatori | function, fn, return, yield, use, static, global |
| Classi e OOP | class, interface, trait, enum, extends, implements, new, clone, abstract, final, public, protected, private, const, var, instanceof, insteadof |
| Namespace e autoloading | namespace, use, include, include_once, require, require_once |
| Gestione degli errori | try, catch, finally, throw |
| Costrutti del linguaggio | echo, print, array, list, isset, unset, empty, die, exit, eval |
| Operatori logici | and, or, xor |
| Tipo e valori | true, false, null, callable, int, float, string, bool |
| Altro | as, declare, enddeclare, goto, __halt_compiler |
L'insieme esatto cresce lentamente tra le versioni — match è arrivato in PHP 8.0, enum in PHP 8.1 e fn (arrow function) in PHP 7.4 — quindi alcune voci precedenti non sono disponibili nei runtime più vecchi. È sempre possibile verificare una parola in fase di esecuzione invece di memorizzare l'elenco:
<?php
var_dump(function_exists('array')); // bool(false) — "array" is a language construct, not a function
echo PHP_VERSION, "\n"; // tells you which keywords your runtime supportsUtilizzo delle Parole Chiave PHP
Le parole chiave si combinano nelle istruzioni che compongono ogni programma. L'esempio seguente usa insieme un condizionale, un ciclo e la definizione di una funzione:
<?php
$x = 7;
// Define a conditional statement
if ($x == 5) {
echo "x is equal to 5.";
}
// Define a loop
for ($i = 0; $i < 10; $i++) {
echo $i;
}
// Define a function
function add($a, $b)
{
return $a + $b;
}
?>Qui la parola chiave if avvia un condizionale che verifica se $x è uguale a 5, for costruisce un ciclo che va da 0 a 9, e function dichiara una routine riutilizzabile che restituisce la somma dei suoi due argomenti.
Errori Comuni
- Parole riservate come nomi di metodi o costanti. Da PHP 7, la maggior parte delle parole chiave è consentita come nome di metodo, proprietà e costante di classe (ad esempio
$object->list()oFoo::CONSTnon vengono analizzate, maFoo::PRINTsì), ma usarle compromette la leggibilità. Preferire un nome più chiaro. echoeprintnon sono funzioni.echo "a", "b";funziona (argomenti multipli, parentesi non necessarie); sono costrutti del linguaggio, quindi non è possibile passarli come callback.exitediesono identici. Entrambi interrompono immediatamente lo script;dieè solo un alias.- Non confondere
and/orcon&&/||. Le forme testuali hanno precedenza inferiore, quindi$ok = true and false;assegnatrue, nonfalse. Usare&&e||nelle espressioni. Vedere PHP Operators per la tabella delle precedenze.
Argomenti Correlati
Ogni gruppo di parole chiave ha il proprio capitolo che approfondisce l'argomento:
- PHP Variables e PHP Data Types — come funzionano
var,arraye le parole chiave di tipo. - PHP If...Else...Elseif e PHP Loops — le parole chiave per il controllo del flusso.
- PHP Functions —
function,return,usee scope. - PHP Classes and Objects — le parole chiave OOP.
- PHP Constants e PHP Namespaces.
Conclusione
Le parole chiave PHP sono il vocabolario fisso del linguaggio: parole riservate e non sensibili alle maiuscole che costruiscono condizionali, cicli, classi e gestione degli errori. Sapere quali parole sono riservate evita di nominare le cose in modo non valido, e sapere cosa fa ciascuna permette di leggere e scrivere PHP con scioltezza. In caso di dubbio, raggrupparle per scopo — come nella tabella precedente — piuttosto che memorizzarle una per una.