ADOdbを利用する(3)呼び出しやすくする
memosというテーブルの内容をindex.phpなどで、
- memo.find_all()
- memo.find_by_id(id)
という形で呼び出したかったので、どうしたらいいのか考えてみて実装してみました。
これで呼びやすくなった気がする。
課題
- insert部分(.save)
- update部分
- joinする情報を扱う場合
- SQL文をメンバー変数にしていおいた方がいいのかも
index.php
<h1>ADOdbを試す</h1> <?php include_once('./Memo.php'); $memo = new Memo(); $memos = $memo->find_all(); $entry = $memo->find_by_id(2); var_dump($entry); ?>
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(); } } ?>