2007年11月09日

PHPのフレームワーク大杉

前回まででようやくページングの目途がついたので今回からやっとフレームワークの話を書こうかとおもいます。その前にここまでのまとめというかそもそもなんでフレームワークなの?というあたりをもう一度確認してみると…。

発端としては、まず従来の手続き型で書いたぐちゃぐちゃの検索アプリスクリプトがあり、そのスクリプトでは検索データ全件取得&スクリプトで対応方式のページングが実装されていました。

ですがデータ件数が増えるに従いどうにも我慢ならないほど遅くなってきたので、とりあえずSQLのLIMITを使って表示データだけ取ってこれないか?という考えにたどり着きました。

そして試行錯誤の上SQL一発でなんとか表示データだけを取ってくることに成功し、また速度的にも全件取得よりはマシだろうということが判明しました。

んで、そのSQLを実装(SQLを実装?ってなんか変かな?)すればいいのですが、最初に述べた通りあまりにもぐちゃぐちゃで、もはや新機能を付け加えることはおろか、どこか一箇所でもいじろうものならわけがわからなくなること確実なので、せっかくのSQLを実装しようにもこのままじゃ手がつけられない状態になっているわけです。

そこで以前から耳にしていたフレームワークなるものを使えば、もしかしたらこの泥沼的状況から抜け出せるのではないか?…とまあ前回までのあらすじはこんなところです。

んで、PHPのフレームワークを探したわけですが、これが出るわ出るわ!あまりトリッキーっつかマニアックなことをしたいわけでもなく、当然日本語のドキュメントも多いほうがいいわけで、まあデファクトスタンダード的なヤツを使っとけば間違いないだろう…ぐらいに考えていたのですが、探してみてビックリ!もう乱立状態どころかこれだ!といったものが見つからない。

最初に引っかかったのがsymfony。RoRの流れを汲み〜とかMojaviとかいうフレームワークから派生してとかなんとか。でも重いとかもっさりしてるとか個人用というよりエンタープライズ向け?みたいなあまり言い噂を聞かないので却下。

その次に引っかかったのがMojavi。これはなんか日本のユーザは多いらしい。けどRoR以前なのでちょっと1世代前的な感は否めない…とかなんとか。RoRってなんぞ?ま、いいや、とにかく古いらしいから却下。

その後MapleだのEthnaだのチラ見して(謎)たどり着いたのがCakePHP。これはRoRの流れを汲むPHPのフレームワークで悪痴ぶれこおどにも対応してるとかなんとかかんとか…。だからRoRってなんぞや?アクチベーションってWindowsXPの悪名高いコピープロテクトでしょ?…な状態の私。

で、まずRoRを調べてみたらRuby on Railsの略と判明。あ〜なんかちょっと前に盛り上がってましたっけ?的な知識しかない(注:知識ではない)。とにかくおそろしく簡単にデータベースを使ったWEBアプリができてしまう。コードすら書く必要もない場合もある。みたいな(--;

でCakePHPはそれのPHP版的な位置付けか?ま、それはとりあえずわかったから置いといて、ActiveRecordってのはなんなんだ?

ネットにはいろいろ書いてあるけどなかなか実態が掴めない。O/Rマッパっていったい?らっぱクラス?汗くさメソッド?なんのこっちゃ…。わからな杉。

でもわからないなりにもなんとなくCakePHPよさげ。そんでチュートリアルをやってみる。やってみるといっても単にコピペしてファイル作ってるだけ。これでわかるようになるわけがない。ってか動かない。とりあえず挫折。

そしてまたフレームワーク探しの旅へ…。CodeInteger?整数しか書けないフレームワークか?ナワケナイ。あ〜CodeIgniterか。いぐにてってなんだ?ふむふむ点火器ね、イグナイタって読むのか。なるほどなるほど。

で、チュートリアルはどこぞ?ん、ない。代わりにビデオ。ほーほー。ふむふむ。なるほど。とりあえず見ただけで挫折。

次。(次って…)ちいたん。軽いらしい。AJAXにも対応。ほーほーなかなかよさげじゃん。ネーミングは奥さんの愛s…ry。あう、おえ、いお。ちょっとキモイ。でもめげずに(なんにだ?)チュートリアル。またまたコピペ。んで挫s…おおおおお!動いた!なんでだ?さっぱりわからん。

あwせdrftgyふじこlp;@
ラベル:PHP framework
posted by ciallost at 22:49| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック