ラベル Piece_ORM の投稿を表示しています。 すべての投稿を表示
ラベル Piece_ORM の投稿を表示しています。 すべての投稿を表示

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 のより詳細なチュートリアル

2007-07-11

Piece Project 7月活動予定

今月関西圏で予定している Piece Project としての活動が2つあります。


まず 7/20(金) 京都にて開催されるオープンソースカンファレンス2007に Piece Project としてイベントに参加します。

オープンソースカンファレンス2007 Kansai Piece Framework講演のお知らせ

Piece Frameworkの概要について、セキュリティに関するお話を踏まえつつ解説する予定だそうです。14:00 からということですが、7/20のタイムテーブルを確認して他のイベントとあわせてどうぞ。


また 7/21(土) には、新大阪でオブジェクトリレーショナルマッピングを提供するプロダクト「Piece_ORM」の勉強会を開催。

第8回Piece Framework勉強会開催のお知らせ

実際にプログラムコードを書きつつ動作の確認を行っていきます。Piece_Unity サンプルアプリケーションとの電撃合体 (新日風) による実装例も。

2007-05-28

Piece_ORM を動作させるために知っておきたい3つのディレクトリの役割

みんな大好き「○つの方法」的キャッチータイトルをパクるもこのエントリは流行らない・・・っ!


Piece_ORM を動作させるには、Piece_ORM クラスの configure メソッドを実行させることで動作環境を構築します。このメソッド実行には、3つのディレクトリを指定することになります。

実際にはPiece_ORM短期集中コースを読めば全て載っていることですが、この3つのディレクトリを簡単に理解するポイント、また使い始めてもふとやってしまう失敗ポイントをあわせてここでも紹介しておきます。


(1) configDirectory

設定ファイルを置いているディレクトリ。
一見とても重要な内容、というか事実そのとおりなのだが、実は指定するディレクトリに piece-orm-config.yaml という設定ファイルがあるかどうかというだけでしかありません。piece-orm-config.yaml は Piece_ORM を動作させるためのデータベース接続設定およびそれに付随するオプションを指定するためのファイルです。


(2) cacheDirectory

キャッシュデータが書き込まれるディレクトリ。
Piece_ORM はキャッシュデータ命というか、「キャッシュデータを作成」→「そのキャッシュを元に駆動する」という仕組みとなっています。「Piece_ORM が動作しない」というケースに出くわした場合、その原因は

・キャッシュディレクトリが存在しない
・プログラムがキャッシュディレクトリに書き込む権限がない

である可能性が高いでしょう。


(3) mapperConfigDirectory

データベーステーブルのマッパー定義ファイルが設置されているディレクトリ。マッパー定義ファイルはテーブルごとに存在します。
前述のキャッシュデータを作成するために、Piece_ORM で操作対象とするテーブルは全てファイルを準備する必要があります。「Piece_ORM が動作しない」理由は

・指定するテーブルのマッパー定義ファイルがない

という原因である可能性もあります。

この設定ファイルでは、任意のメソッドとそれに対応する任意の SQL クエリ、リレーションシップ定義を記述するようになっていますが、よく使われる汎用的なクエリメソッド (select, insert, update, delete) は定義することなく使用できます。
したがって簡単な動作を行う場合は設定ファイルを記述することはない、つまり 0 バイトのマッパー定義ファイルだけが存在することになります。