我正在创建一个User对象,构造函数在创建对象时从数据库中提取用户数据。它的设置使它可以通过了解UserID或用户的电子邮件来提取数据。
function __construct ($db_obj, $userID=0) {
$this->_db_obj = $db_obj;
if (is_numeric ($userID))
$where_str = "userID = $userID";
else
$where_str = "user_email LIKE :user_email";
$get_user_obj = $db_obj->prepare ("SLECT * FROM Users WHERE $where_str");
$get_user_obj->bindParam (":user_email", $userID);
$get_user_obj->execute();
// Do some stuff
}
是否允许对可能不存在的参数使用bindParam方法?我将它分成两个不同的功能(这似乎与DRY原则相悖)是否更好?