2008-03-19

Piece_ORM で簡単データベース+PHPプログラム

Piece_ORM を使えば、だれでも簡単にデータベースを使ったPHPプログラムを書くことができます。(任天堂のCM風に。)

1. フォルダの作成

Piece_ORM を動作させるには、プログラムのファイルとは別に3つのフォルダを使います。
プログラムファイルを作成するフォルダ内に、次の3つのフォルダを作成します。
  • config
  • cache
  • mappers


2. データベース情報を準備する

次に Piece_ORM から接続するデータベースサーバの情報を設定します。
仮にデータベースの情報が

データベース: PostgreSQL
ホスト名: localhost

database : example
username : example_user
password : example_password

以上のようなものなら、先ほど作ったフォルダのうちの1つ、config フォルダの中に「piece-orm-config.yaml」という名前のファイルを作成し、次のように記述します。
- name: database1
  dsn: pgsql://example_user:example_password@localhost/example


3. テーブルを準備する

続いて、実際にプログラムから読み込みや書き込みを行おうとするテーブルを準備します。

データベース内の実際のテーブルは予め作成しておきます。ここでは「person」という名前のテーブルを作成したとします。

先ほど作ったフォルダのうちの1つ、mapper フォルダの中に「Person.yaml」という名前のファイルを作成します。中身は何も必要ありません。


4. プログラムを書く

最後にプログラムを書きます。書くプログラムは非常に短くて簡単です。

SELECT 文の SQL は次のようなコードを準備します。SELECT した結果のレコードがオブジェクトとして簡単に参照が可能です。

<?php

// Piece_ORM を読み込む
require_once 'Piece/ORM.php';

// Piece_ORM を設定する
Piece_ORM::configure('config', 'cache', 'mappers');

// person テーブルを対象にする
$mapper = Piece_ORM::getMapper('Person');

// select * from peron where id = 1;
$person1 = $mapper->findById(1);
echo $person1->name;    // name カラムを表示

// select * from peron where name = 'foo';
$person2 = $mapper->findByName('foo');
echo $person2->name;



INSERT, UPDATE, DELETE も簡単です。

<?php

// Piece_ORM を読み込みと設定
require_once 'Piece/ORM.php';
Piece_ORM::configure('config', 'cache', 'mappers');

// person テーブルを対象にする
$mapper = Piece_ORM::getMapper('Person');

// 新しいレコードとして INSERT
$person = new stdClass();
$person->name = 'foo';
$mapper->insert($person);

// name カラムを変更して UPDATE
$person->name = 'bar';
$mapper->update($person);

// DELETE
$mapper->delete($person);




詳しくはこちら

Piece_ORM のインストール
Piece_ORM のより詳細なチュートリアル