W3docs

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 name

Da questo derivano due regole pratiche:

  • Le parole chiave non fanno distinzione tra maiuscole e minuscole. if, IF e If significano tutti la stessa cosa, quindi ECHO "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, false e null sono 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.

CategoriaParole chiave
Condizionaliif, else, elseif, endif, switch, case, default, endswitch, match
Ciclifor, endfor, foreach, endforeach, while, endwhile, do, break, continue
Funzioni e generatorifunction, fn, return, yield, use, static, global
Classi e OOPclass, interface, trait, enum, extends, implements, new, clone, abstract, final, public, protected, private, const, var, instanceof, insteadof
Namespace e autoloadingnamespace, use, include, include_once, require, require_once
Gestione degli erroritry, catch, finally, throw
Costrutti del linguaggioecho, print, array, list, isset, unset, empty, die, exit, eval
Operatori logiciand, or, xor
Tipo e valoritrue, false, null, callable, int, float, string, bool
Altroas, 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 supports

Utilizzo 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() o Foo::CONST non vengono analizzate, ma Foo::PRINT sì), ma usarle compromette la leggibilità. Preferire un nome più chiaro.
  • echo e print non sono funzioni. echo "a", "b"; funziona (argomenti multipli, parentesi non necessarie); sono costrutti del linguaggio, quindi non è possibile passarli come callback.
  • exit e die sono identici. Entrambi interrompono immediatamente lo script; die è solo un alias.
  • Non confondere and/or con &&/||. Le forme testuali hanno precedenza inferiore, quindi $ok = true and false; assegna true, non false. 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:

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.

Pratica

Pratica
Quali delle seguenti sono parole chiave riservate in PHP?
Quali delle seguenti sono parole chiave riservate in PHP?
Was this page helpful?