簡體   English   中英

意外的PHP解析錯誤

[英]Unexpected PHP Parse Error

我意識到這個問題的答案可能很明顯,但我很難過。

我創建了一個使用Jeremy Kendall的密碼驗證器( https://github.com/jeremykendall/password-validator )的類,名為Hash。 然而,當這個類被調用時,我得到:

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;
}; // Missing semicolon needs to be here
}

請參閱PHP的匿名函數文檔:

閉包也可以用作變量的值; PHP自動將這些表達式轉換為Closure內部類的實例。 為變量分配閉包使用與任何其他賦值相同的語法, 包括尾隨分號

匿名函數最后需要一個分號。 嘗試這個:

private $validationCallback;

public function __construct(){
$this->validationCallback = function($credential, $passwordHash)
{
if (has('md5', $credential) === $passwordHash) {
    return true;
}
return false;

};
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM