我目前有这种方法:
public function getUser($id) {
$user = $this->db->getSingleRecord("SELECT user_id, user_login, user_email FROM users WHERE user_id = ?", $id);
return $user;
}
我认为这很明显。 $ user是一个关联数组,因此$ user ['user_id'],$ user ['user_login']和$ user ['user_email']将存在。这将传递给Smarty模板,在该文件中,将使用这些键:
login: {$user['user_login']|escape} <br />
这让我想知道......这很好吗?如果数据库字段发生变化,我现在需要编辑2个文件。我可以将方法更改为:
public function getUser($id) {
$user = $this->db->getSingleRecord("SELECT user_id, user_login, user_email FROM users WHERE user_id = ?", $id);
if (empty($user))
// return empty array
return $user;
else
return array('user_id' => $user['user_id'], 'user_login' => $user['user_login'], 'user_email' => $user['user_email']);
}
如果数据库字段发生变化,我现在只需编辑一个文件(此方法)。我的第一个想法是这种方法要好得多。
另一方面,你真的要照顾这些东西吗?通常,您不会更改这些字段。
最佳方法是什么?
由于
答案 0 :(得分:1)
考虑模板所需的数据库字段和$user
结构的对应关系是巧合。使用您当前使用的那个。如果数据库架构发生更改,请切换到备用架构(无论如何都必须修改方法,以更改查询)。