[s2If current_user_can(access_s2member_level1)]

CrystalはPHP用のデータベースを使ったシステム向けのツールキット。

[/s2If]

CrystalはPHP製のオープンソース・ソフトウェア。Webシステム開発における絶対的な地位を築いたと言えるPHP。他にも多数のプログラミング言語がWebシステムに対応しているが、手軽さと実績においてPHPに勝るものはないだろう。

Screen-shot 401.png

データの取得

 

Webシステムと言えばデータベースを利用したものが多い。そしてその時に使うSQLは開発に用いるプログラミング言語とは大きく構文がかけ離れるため、使い勝手が悪かったり、安直に書いてSQLインジェクションにつながったりする。それを防ぐためにも使ってみたいのがCrystalだ。

Crystalはデータベースを利用したWebシステムを開発するためのツールキットだ。コンセプトは「シンプル」「軽量」そして「容易に学習できる」となっている。実際の書き方として「$posts = $db->select(‘date, title’)->from(‘posts’)->fetch_all();」といった書き方をする。

Screen-shot 402.png

INSERT文

 

SQLをばらしてPHPに当て込んだ感じとでも言えるだろう。CRUD操作に一通り対応し、さらにデータベース自体やテーブルの追加削除にも対応する。カラム名の変更なども可能だ。さらにデータのバリデーション処理もある。データベース周りでよく使いそうなものだけをコンパクトにまとめた、便利なライブラリだ。

 

MOONGIFTはこう見る

PHPでは幾つかフレームワークがあるが、そうしたフレームワークを用いた規模の開発にPHPが向いているかと言われると疑問だ。もっと軽量に、シンプルに動かすものこそPHP向きではないだろうか。素のPHP + Crystal + Smartyなんて組み合わせは悪くなさそうだ。

データベースに直接SQLを投げるのはパフォーマンス上悪くないのだが、メンテナンス性が悪かったり、プログラマーの技術力によってパフォーマンスに差が出たりする。CrystalのようなO/Rマッパーを用いれば、より開発がしやすくなるはずだ。

Crystal - minimalistic PHP Database toolkit

 http://www.crystal-project.net/