ADOdbを利用する(4)insertしてみた
MVC難しい、というかModelとLogicの切り分けはどれぐらいがいいんだろう?
下記の場合、Memoというクラスは、Modelでもあるし、Logicでもあるのかなあ。
Memoクラスにロジックを書いたら、メンテナンスしにくいか?と言われたらどうだろう?悩む。しにくい感じはしないけれど。
index.php
Logic.phpを継承したMemoクラスを呼び出して、保存(save)しているところ。Memo->save()で配列を渡したら、保存してくれる。
<?php include_once('./Memo.php'); $memo = new Memo(); $arg = array( 'title' => 'PHP title test' ); $memo->save($arg); var_dump($memo->find_all()); ?>
Memo.php
<?php require_once('./Logic.php'); class Memo extends Logic { var $set_table = 'memos'; function Memo() { } } ?>
Logic.php
<?php require_once('./DAO.php'); class Logic extends DAO { var $set_table = null; function find_all() { $db = new DAO(); $sql = 'select * from ' . $this->set_table; $res = $db->Execute($sql); return $res->GetArray(); } function find_by_id($id) { $db = new DAO(); $sql = 'select * from ' . $this->set_table . ' WHERE id=' . $id; $res = $db->Execute($sql); return $res->FetchRow(); } function save($record) { $db = new DAO(); $db->conn->autoExecute($this->set_table, $record, 'INSERT'); } } ?>