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