我读到了这个Article 我想知道这部分:
try {
//First try getting our user numero uno
$user = new User(1);
//Then, let's try to get the exception
$user2 = new User('not numeric');
} catch( Exception $e ) {
echo "Donkey Kong has caught an exception: {$e->getMessage()}";
}
为什么 {$e->getMessage()}
必须包含在括号中?
php手册上有关于这个的任何链接解释吗?
我知道如果我们不放括号它会显示错误,但我想要的是得到为什么需要括号的解释。
Notice: Undefined property: Exception::$getMessage
最佳答案
这与这是一个复杂的表达式有关。如果您不包括括号,即:
echo "Donkey Kong has caught an exception: $e->getMessage()";
...那么 PHP 如何知道您要输出的变量是什么?您可能正在尝试执行以下任一操作:
- 输出
$e
的值,后接字符串"->getMessage()" - 输出
$e->getMessage
的值,后面跟着字符串"()" - 输出
$e->getMessage()
的值
将完整表达式放在方括号中会告诉 PHP 需要计算并包含在字符串中的完整表达式。
关于php - { } 标记在 echo "{$e->getMessage()}",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8671793/