EasyORM

PHP4で、レンタルサーバで使えて、
マッピングファイルとかの設定がいらなくて、
他のライブラリを入れなくて良くて、
って感じのORマッピングフレームワークが欲しくて、
簡単なのを作ってみました。
また、マニアックだ。。。。


前、名前付けてライブラリみたいなのを作ってたら、
一緒に仕事をしてる人達や、クライアントの方に、
めっさバカにされたんで、名前付けるのが恥ずかしいけど、
付けた方がかっこいいかなと思って、名前付けてSourceForgeにアップしてみました。
http://sourceforge.jp/projects/easyorm/:EasyORM


これの、目的は、「SQL文を書かない!」です。
hibernateのCriteria APIみたいなのも作ったんで、
結構、SQL文を書かなくて、データベースプログラミングができると思います。
あの、文字列をシングルクウォーテーションで囲み忘れた、、とかの、
うざいバグからは解放されるんでは、と期待してます。


このORMフレームワークの今んとこの特徴は、

  • クラスを作って、そこからデータベースのテーブルとかを自動で作る、クラスベース(っていうのかな??)のORM
  • PHP4は型指定が無いので、クラスのフィールド名に型指定の文字を埋込む
  • クラス間の多重度のサポートや、キャッシュ等の複雑な機能はサポートしない
  • クラス名がテーブル名になる
  • フィールド名がカラム名になる
  • 日時は、PHPではUnixタイムスタンプで扱う

です。

マッピングファイルが無く、コメントとかも必要無しにしたんで、
柔軟なマッピングはできません。

フィールド名は、

  • 文字列は「s」
  • 大きな数字は「d」
  • 小さな数字は「i」、
  • ブール値は「b」
  • 時間は「t」

を頭に付けるっていう決まりになってます。


で、

  • sは「varchar(255)」
  • dは「bigint」
  • iは「int」
  • bは「tinyint」
  • tは「datetime」

で、勝手にデータベースのカラムの型を作ります。


ほんとに自分が楽する為だけに作られた、ORMフレームワークです。


実は、PHP4のORMフレームワークは、
大学のめっちゃ頭のいい後輩の方々に、もっと汎用的なのを作ってもらってたんですが、
仕事の途中に自分用を作っちゃって。。。
後輩のみなさん、本当にすいませんでした。。。