ele_eel's diary

プログラムの事を少しと、デジタル系買物記。

KohanaでORMライブラリを利用する

Kohana には データベースライブラリ ORM (Object Relational Mapping) があります。これは非常に強力で、コードを書く手間が一段と省けます。

ORM というと、ER図やデータベースの正規化などが関わってきたり、難しそうなのでなかなか利用するに至らなかったのですが、使ってみるとまさに目からウロコ・・・。コード量を格段に省略できるようになりました。

ORM モジュールとは・・・(本家ドキュメント参照)

ORM はまるで PHP オブジェクトであるかのように、データベースのデータ操作とコントロールを行います。 ORM のリレーショナルシップを定義しておけば、データベースからデータを取り出してくれたり、データを好きなように操作したり、その結果を保存することを SQL 文を書くことなしに可能にしてくれます。
設定より規約 (convention over configuration) に則ってモデル間の関係を記述すれば、追加・読み・更新・削除 (create, read, update and delete) の反復するようなクエリーを減らすか、または完全に省いてくれます。
ORM ライブラリによってモデル間の関係は自動的に扱われ、そのデータは一般的なオブジェクトとしてアクセスすることができます。

実際に利用するに当たって一番厄介なのが、モデル間のリレーションシップを「設定より規約」に則る必要があること。既存のデータベースで利用する際に、ここが最大の問題ですね。しかし Kohana では既存の規則を設定により変更できる柔軟さを持っています。

これから自分の理解度を確認することも兼ねて、Kohana での ORM のメモをしていこうと思います。