コントローラからモデルに情報を渡すときのベストプラクティスとは何か考えています。具体的には、電子メール、名前、パスワードなどの特定の情報を要求するユーザークラス内にユーザー登録モデルを作成しています。PHP MVCでメソッド関数を作成するためのベストプラクティスは何ですか?
モデル関数内にパラメータを入れて渡す方が良いか、または関数を呼び出してクエリに$ _POST変数を使用する方が良いのではないかと思います。
ここに私が言及している2つの例があります。
方法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;
}
方法2
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;
}
私は、検証コードの多くを削除しているとどのようなので、うまくいけば、あなたのアイデアを得る問題を単純化することではありません。