DB_DataObject を使ってみたい。
以前から雑誌で読んで気になっていた PEAR の DB_DataObject を使ってみたいと思います。本当に便利なのか確認してみて、便利だったら採用してみようかと思います。
まずはインストールです。PEARで配布されているので、インストールはとても簡単です。
# pear install DB_DataObject
とするだけです。これで、インストールは終了です。インストールの簡単さもPEARが利用される理由のひとつなのかもしれませんね。
インストールして、クラスを require するだけで使えるのが一般的ですが、 DB_DataObject はデーターベースの構造を解析して自動でクラスを作るようなので、事前にデーターベースへの接続情報を教えておく必要があるようです。
このページを参考にしながら、設定ファイルを書きました。
サンプルの database schema_location schema_location を変更しました。オプションの設定はイロイロできるようですが、とりあえず最小限の設定で動作確認してみます。
設定ファイル(dataObject.ini)
[DB_DataObject] database = mysql://USER:PASS@localhost/DBNAME schema_location = /home/USER/path_to/class/db class_location = /home/USER/path_to/class/db require_prefix = DataObjects/ class_prefix = DataObjects_ debug=0
この設定ファイルを、自動生成スクリプト (createTables.php)の引数に指定します。
$ php /usr/share/pear/DB/DataObject/createTables.php ./dataObject.ini
指定されたディレクトリ(class_location)にファイルが作成されているかを確認します。私は tm_heya というテーブルを作っておきましたので、 Tm_heya.php というファイルが作られているのを確認しました。
準備はOKなので、動作確認用のプログラムを書いてみます。
動作確認用のプログラム
require_once 'DB/DataObject.php'; // 準備 $config=parse_ini_file('/home/useer/path_to/dataObject.ini',TRUE); $options=&PEAR::getStaticProperty("DB_DataObject","options"); $options=$config['DB_DataObject']; // 簡単な検索 部屋IDが 1 のデータを取得 $rooms = DB_DataObject::Factory('tm_heya'); $rooms->get(1); // 表示して確認 print_r($rooms);
次は部屋クラスで DataObject を利用してデーターをとってくるようにしたいと思います。