意外的PHP分析错误
我意识到这个问题的答案可能是显而易见的,但我被难住了 我创建了一个使用Jeremy Kendall的密码验证器()的类,名为Hash。但是,当调用该类时,我得到:意外的PHP分析错误,php,Php,我意识到这个问题的答案可能是显而易见的,但我被难住了 我创建了一个使用Jeremy Kendall的密码验证器()的类,名为Hash。但是,当调用该类时,我得到: Parse error: syntax error, unexpected '}' in /home/james/Projects/REC/htdocs/classes/Hash.class.php on line 24. Hash.class.php中存在问题的代码是: private $validationCallback;
Parse error: syntax error, unexpected '}' in /home/james/Projects/REC/htdocs/classes/Hash.class.php on line 24.
Hash.class.php中存在问题的代码是:
private $validationCallback;
public function __construct(){
$this->validationCallback = function($credential, $passwordHash){
if (has('md5', $credential) === $passwordHash) {
return true;
}
return false;
}
}
第24行是最后一个“}”。任何帮助都将不胜感激
谢谢。结尾需要一个分号。试试这个:
private $validationCallback;
public function __construct(){
$this->validationCallback = function($credential, $passwordHash)
{
if (has('md5', $credential) === $passwordHash) {
return true;
}
return false;
};
}
这应该是:
private $validationCallback;
public function __construct(){
$this->validationCallback = function($credential, $passwordHash)
{
if (has('md5', $credential) === $passwordHash) {
return true;
}
return false;
}; // Missing semicolon needs to be here
}
请参阅PHP文档:
闭包也可用作变量的值;PHP会自动将这些表达式转换为闭包内部类的实例。将闭包赋值给变量使用与任何其他赋值相同的语法,包括尾随分号:
MD5?老天,他们在21世纪还用这个吗?