在PHP中,变量作用域规则如何适用于Try/Catch块?在try
块中声明的变量是否在块完成时失效?还是在函数/方法结束之前仍然有效?
例如:
try
{
// This may throw an exception when created!
$o = new Pronk();
}
catch (Exception $ex)
{
// Handle & exit somehow; not important here
return false;
}
$o->doPronk();
这样写有效吗?或者$o = NULL;
应该在try/catch之前设置以保持$o
在作用域内吗?(我知道示例代码确实可以工作,但是我也知道PHP在作用域方面可能有些愚蠢。我的问题是,理想情况下,它应该如何工作?正确和适当的做法是什么?)