Akelos歴、1週間目。
ユーザーはまだ少ないとは思うのだけど、本当に良い。実に良い。
なんでユーザー少ないのかワカラン。CakePHPで作ってたときの倍のスピードで開発が進んでいる(おおげざじゃないですよ)。
だからこそ、触り始めた人が、「えー、動かないじゃーん」と去ってしまうのは避けたいのです。そこで、ここ1週間でハマッたこと、レポートしておきます。アカを出しておいた方が不安を払拭できると思いまして。
小数を使いたくて、テーブルカラムに、
とか定義しても、AkActiveRecordによって、整数に(切捨て)されてしまいます。小数点を使うときは、テーブルカラム型を、float/doubleで定義すること。
SQL←→ActiveRecordの型変換は、AkActiveRecord::getAkelosDataTypeに集約されています。ソースなりコメントは一度読んでおきましょう。SQL decimalはPHP integerにマッピングされてます。
ページネートをやりたいときに、
などとやると思いますが、
limitとoffsetは、is_integer()==trueでなければなりません。falseだと、limit/offsetのSQL文自体が生成されません。
だから、こうしないと、ダメです。
(コレは若干むなしい。「暗黙の型変換」を大事にしないなんて、ちょっとヨロシクないんじゃね?)
Akelosは、CakePHPのようなEAGERロードはしませんが、RailsやJavaのようなアクセス時の自動LAZYロードもしません。
これは仕様だから、慣れるしかない。
Viewで必要なデータは、しっかりとControllerで準備しましょう。
など。commentだったりcommentsだったり紛らわしいですが、
$post->commentがデータ・アクセス・オブジェクト、
$post->commentsがデータ配列です。
の出力を、1回軽く読んでおくとわかりやすい。
サーバがWindowsのときだけの話。以下をコメントアウトしとけ!
以上かしら?
それなりに複雑なアプリケーション作っていて、結構いろいろなことやってますが、イラっとした点は、そんなもん。
ぜんぜんバギーじゃないです。気軽に使ってみてはどーでしょうか。