0
當我們使用PDO::FETCH_CLASS
時,它創建了具有公共範圍的指定類的成員變量。如何防止這種默認行爲並停止創建這些公共成員?停止生成PDO :: FETCH_CLASS不存在的成員變量
class user
{
/**
Table user has
id int PK
name UNIQUE
password
*/
protected $id;
protected $name;
/*more code.......*/
}
$stmt->setFetchMode(\PDO::FETCH_CLASS, 'user');
$user=$stmt->fetch();
現在如果我var_dump()
$用戶它有'密碼'公共財產。我想,以防止
創建有問題的項目作爲私人成員和值不會填充,但我懷疑這不是你想要的。它也可能導致PDO拋出異常,而不是檢查。我懷疑這個答案是「你不能」,你只能忍受它。但我很樂意被證明是錯誤的。 – DaveRandom 2012-08-07 16:16:13
有點相關的http://stackoverflow.com/questions/5137051/pdo-php-fetch-class其中也提到私人成員 – Cups 2012-08-07 16:19:14
@Cups有趣的是,這個問題似乎表明,這個問題是問如何避免不會發生無論如何。我現在正在測試以查看它的真實含義。 – DaveRandom 2012-08-07 16:21:36