フレームワーク3eyes

なんだかいちおうフレームワークが形になってきた。細かいところはまだ時間がかかりそうだけど、大筋で見込みがついた。形から入る、というわけではないけれど名前をつけてウェブも作った。

フレームワーク3eyes公式サイト

名前は前から考えてた。短い名前がよくて、意味付けできるようなの。3eyesは文字通り3つの視点(MVC)にわけて開発するためのツールという意味(という意味を後付した・・・)。ウェブはまだ表紙だけ。

公式サイトといえば見栄えするが、所詮は俺俺フレームワークなんだけど。

軽量フレームワーク

いわゆるライトウェイトなフレームワーク。現在はguessworkを使用している(かなりカスタマイズして)。いくつか軽量なフレームワークがあるようで、どれもなかなかよくできていると思う。

  • guesswork classic
    PHP4向け。PHP5でも動作OK。よくできています。現在PHP5向けの新版を開発していらっしゃるとのこと。非常に期待をしているのだが、いまだ新版のアナウンスがない。作者さん、がんばってください。
  • ちいたん
    cakePHPの軽量版。 よくできています。MVC。名称は作者の奥さんの愛称、というなんとも愛妻家な方。ただ、使うことはないです。なんかコンセプトとかが理解できなくて。
  • Code Ignighter
     PHP4、5両対応。よくできています。うちのアンケートサイトを講演会の募集で使っていただきました。基本的にmod_rewriteを使うようです。そもそも自分としてはmod_rewriteを前提としたフレームワーク自体が「軽量」ではないと思っているので使わないです(だったらZend Frameworkにします)。

こういう立派なフレームワークに参戦しようとするつもりはまったくないのだけれど、自分にしっくりくるフレームワークがほしくて一念発起。年末には公開予定。現在はいい感じで開発を進めている。もし誰か興味ありそうな人がいたら連絡を。

データベース操作はPDOで

2008/09/20 | PDO

最近の流行はPDOらしい。ということで今後はPDOを使うことにした。というのもZend_FrameworkでもPDO推奨らしいから。

PDOのマニュアルを見ると、プリペアードステートメントを使うことが基本のように見える。もちろんそのほうが、SQLインジェクションに悩まされることもないのだから当たり前といえば当たり前。これを機会に自分もそういう方向性で作業を進めることにする。でももうこれでPHP4には戻れない(戻るつもりもないけれど)。

とりあえず自分用に最低限のサンプルをメモしておく。

  1. $pdo=new PDO(“mysql:host=localhost; dbname=myDB”,”user”,”password”);
  2. $sql=’SELECT * FROM samples';
  3. $stmt=$pdo->prepare($sql);
  4. $stmt->execute();
  5. while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
  6. var_dump($row);
  7. }

1行目でデータベースに接続してPDOオブジェクトの作成。DSNがちょっと今までと違うので注意が必要。2行目でSQLを用意して、3行目でprepareしているのだが、こんな簡単なSQLならprepareせずに直接queryメソッドを使うのもありだろう。prepareすると、その返り値はオブジェクトになっていて、以降そのオブジェクト(PDOStatementオブジェクト)に対して処理することになる。4行目でprepareしたSQL文を実行する。本来ならSQL文に「?」などのパラメータを使って値を格納する「箱」を用意しておき、3行目と4行目の間でbindParamなどを使って、それぞれの箱に値を代入して、それからSQLを実行することになる。実行結果はfetchメソッドを使って1行ずつ処理、ということだ。

特に難しいことはない。ただ今まで使っていたものに対して、汎用性を持たせて作りこむのが面倒だ。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net