数据库字段的依赖性

| 我目前有这种方法:
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\']);
}
如果数据库字段更改,则现在只需要编辑一个文件(此方法)。我首先想到的是这种方法要好得多。 另一方面,您真的应该照顾这些事情吗?通常,您不会更改这些字段。 最好的方法是什么? 谢谢     
已邀请:
考虑数据库字段和模板所需的“ 3”结构的对应是巧合。使用您当前使用的那个。如果数据库模式发生更改,请切换到备用模式(无论如何,您都必须修改方法以更改查询)。     

要回复问题请先登录注册