In PHP, in che modo le regole dell'ambito variabile si applicano ai blocchi Try/Catch? Le variabili dichiarate all'interno del blocco try
escono dall'ambito quando il blocco è terminato? O sono nel campo di applicazione fino alla fine della funzione/metodo?Ambito variabile PHP all'interno del blocco Try/Catch
Ad esempio:
try
{
// This may throw an exception when created!
$o = new Pronk();
}
catch (Exception $ex)
{
// Handle & exit somehow; not important here
return false;
}
$o->doPronk();
È questo valido? O è necessario impostare $o = NULL;
prima del try/catch per mantenere $o
in ambito?
(so che il codice di esempio fa lavoro, tuttavia so anche PHP può diventare un po 'stupido quando si tratta di scoping. La mia domanda è, idealmente, come dovrebbero Funzionerà? Qual è la corretta e modo corretto per farlo?)
PHP non ha scope di blocco. Lo scope variabile è l'intera funzione. – Barmar