我想知道在控制器向模型传递信息时,最佳实践是什么。更具体地说,我正在创建一个用户注册模型,在用户类中要求提供某些信息,例如电子邮件、姓名和密码。
我想知道是将参数放在模型函数中并通过这种方式传递它们更好,还是直接调用函数并使用 $_POST 变量进行查询更好。
以下是我所指的两个示例。
方法1:
方法二
我已经删除了很多验证代码等内容,以简化问题,希望你能理解。
我想知道是将参数放在模型函数中并通过这种方式传递它们更好,还是直接调用函数并使用 $_POST 变量进行查询更好。
以下是我所指的两个示例。
方法1:
function register(){
$first_name = $this->input->post('first_name');
$last_name = $this->input->post('last_name');
$email = $this->input->post('email');
$password = $this->input->post('password_1');
$this->user_model->register_user($email, $password, $first_name, $last_name));}
function register_user($email, $password, $first_name, $last_name){
$sql = "INSERT INTO users (user_id, email, passwd, first_name, last_name, registration_date, confirmed, confirmation_code, banned)VALUES (NULL, ?, ?, ?, ?, '".date('Y-m-d')."', 'no', '1fg455675', 'no')";
$register = $this->db->query($sql, array($email, $password, $first_name, $last_name));
return $register;
}
方法二
function register(){
$this->user_model->register_user());
}
function register_user(){
$first_name = $this->input->post('first_name');
$last_name = $this->input->post('last_name');
$email = $this->input->post('email');
$password = $this->input->post('password_1');
$sql = "INSERT INTO users (user_id, email, passwd, first_name, last_name, registration_date, confirmed, confirmation_code, banned)VALUES (NULL, ?, ?, ?, ?, '".date('Y-m-d')."', 'no', '1fg455675', 'no')";
$register = $this->db->query($sql, array($email, $password, $first_name, $last_name));
return $register;
}
我已经删除了很多验证代码等内容,以简化问题,希望你能理解。