モデルをSQLコードと接続を知らないようにしようとしているので、いわゆる「データアクセスオブジェクト」/「dao」を実装しようとしています。
私のモデルはデータベース内のテーブルを表し、そのプロパティは次のように db フィールドに表示されます。たとえば、loginModel
class LoginModel {
private $user;
private $pass;
private $salt;
private $ip;
private $agent;
// getters and setters e.g.
public function getUser() {
return $this->user;
}
public function setUser($user) {
$this->user = $user;
}
// or for example magic methods -> just for example
public function __get($key) {
return $this->$key;
}
public function __set($key, $value) {
$this->$key = $value;
}
}
私の開発では、間違ったことをしていると思いますが、ビューまたはコントローラーで、これを行っています。
$loginModel = new LoginModel();
$loginModel->setUser('$_POST["user"]');
$loginDAO = new LoginDAO($loginModel);
echo $loginDAO->getResults();
これを行う適切な方法はありますか?POST
または、最初に DAO で変数のプロセスを読み取ってから、モデルのプロパティを設定する必要がありますか?