刚刚学习了三元运算符,并期待以下工作:
$dbh =new PDO('mysql:blad','user','pass');
(!$dbh) ? throw new Exception('Error connecting to database'); : return $dbh;
Run Code Online (Sandbox Code Playgroud)
相反,我得到以下错误:
parse error: syntax error, unexpected T_THROW in...
Run Code Online (Sandbox Code Playgroud)
有关正确语法的任何想法吗?
谢谢
sal*_*the 11
三元运算符的语法是expr1 ? expr2 : expr3.简洁地说,一个表达是"任何有价值的东西".
throw…;和return…;是不是表达式,它们是语句.
在任何情况下,如果构造函数中存在问题,PDO类将抛出自己的异常.正确的(意思是,未破坏的)语法如下:
try {
$dbh = new PDO('mysql:blad','user','pass');
return $dbh;
} catch (PDOException $e) {
throw new Exception('Error connecting to database');
}
Run Code Online (Sandbox Code Playgroud)