在PHP中,變量範圍規則如何應用於Try/Catch塊?塊完成後,在try
塊中聲明的變量是否超出範圍?或者它們是否在範圍內,直到函數/方法結束?Try/Catch塊內的PHP變量範圍
例如:
try
{
// This may throw an exception when created!
$o = new Pronk();
}
catch (Exception $ex)
{
// Handle & exit somehow; not important here
return false;
}
$o->doPronk();
這是有效的?或者應該在try/catch之前設置$o = NULL;
以保持$o
的範圍?
(我知道示例代碼確實工作,但是我也知道PHP可以得到一點點愚蠢的,當涉及到作用域。我的問題是,理想情況下,如何應該工作?什麼是正確的,適當的方式來做到這一點?)
PHP沒有塊範圍。變量範圍是整個功能。 – Barmar