在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