フレームワーク3eyes
なんだかいちおうフレームワークが形になってきた。細かいところはまだ時間がかかりそうだけど、大筋で見込みがついた。形から入る、というわけではないけれど名前をつけてウェブも作った。
名前は前から考えてた。短い名前がよくて、意味付けできるようなの。3eyesは文字通り3つの視点(MVC)にわけて開発するためのツールという意味(という意味を後付した・・・)。ウェブはまだ表紙だけ。
公式サイトといえば見栄えするが、所詮は俺俺フレームワークなんだけど。
なんだかいちおうフレームワークが形になってきた。細かいところはまだ時間がかかりそうだけど、大筋で見込みがついた。形から入る、というわけではないけれど名前をつけてウェブも作った。
名前は前から考えてた。短い名前がよくて、意味付けできるようなの。3eyesは文字通り3つの視点(MVC)にわけて開発するためのツールという意味(という意味を後付した・・・)。ウェブはまだ表紙だけ。
公式サイトといえば見栄えするが、所詮は俺俺フレームワークなんだけど。
いわゆるライトウェイトなフレームワーク。現在はguessworkを使用している(かなりカスタマイズして)。いくつか軽量なフレームワークがあるようで、どれもなかなかよくできていると思う。
こういう立派なフレームワークに参戦しようとするつもりはまったくないのだけれど、自分にしっくりくるフレームワークがほしくて一念発起。年末には公開予定。現在はいい感じで開発を進めている。もし誰か興味ありそうな人がいたら連絡を。
最近の流行はPDOらしい。ということで今後はPDOを使うことにした。というのもZend_FrameworkでもPDO推奨らしいから。
PDOのマニュアルを見ると、プリペアードステートメントを使うことが基本のように見える。もちろんそのほうが、SQLインジェクションに悩まされることもないのだから当たり前といえば当たり前。これを機会に自分もそういう方向性で作業を進めることにする。でももうこれでPHP4には戻れない(戻るつもりもないけれど)。
とりあえず自分用に最低限のサンプルをメモしておく。
1行目でデータベースに接続してPDOオブジェクトの作成。DSNがちょっと今までと違うので注意が必要。2行目でSQLを用意して、3行目でprepareしているのだが、こんな簡単なSQLならprepareせずに直接queryメソッドを使うのもありだろう。prepareすると、その返り値はオブジェクトになっていて、以降そのオブジェクト(PDOStatementオブジェクト)に対して処理することになる。4行目でprepareしたSQL文を実行する。本来ならSQL文に「?」などのパラメータを使って値を格納する「箱」を用意しておき、3行目と4行目の間でbindParamなどを使って、それぞれの箱に値を代入して、それからSQLを実行することになる。実行結果はfetchメソッドを使って1行ずつ処理、ということだ。
特に難しいことはない。ただ今まで使っていたものに対して、汎用性を持たせて作りこむのが面倒だ。