まとめ ブログ ダウンロード 掲示板 メール

れぶろぐ

< 2006-05-28 (日) 2006-05-30 (火) > 最新


2006-05-29 (月)

Ethna で PDO や Simplate は使える?

Smarty & PDO を使っているプログラムを、 フレームワーク上に構築し直そうと考えている。 今のところ、以下のフレームワークに目をつけている。

雰囲気としては symfony が最強っぽいのだが、 Smarty と連携するのがキツいらしい。 Zend Framework は Smarty も PDO も使えるらしいが、 まだ発展途上で、これからどう化けるか分からないので敬遠してしまう。 Ethna は最初から Smarty を利用する仕組みになっているので、 移行作業は比較的楽かもしれない。

このような理由から、とりあえず Ethna がいいかと思うのだが、 テンプレートエンジンは Simplate に切り替えることも考えており、

  • Smarty 以外のテンプレートエンジンは使えるのか?
  • SQL 文にプレースホルダーは使えるのか?
  • PDO を使うようにはできるのか?

この辺りの問題がクリアにならないと、どうも踏み込む気になれない。 ということで、調べてみた。

まず、テンプレートエンジンの件。 公式ページの FAQ には以下のように書かれている。

現状は、デフォルトの状態ではSmartyしか使えません。 しかし、flexyが利用できるようにハックしている方がいるのですこし手をいれれば使うことも可能ではないでしょうか。

なるほど。 エラーメッセージを表示するのに、 Smarty 関数が使われたりしているのが気がかりだが、 恐らくそれくらいなら何とかなるだろう。

次、プレースホルダーの問題。 Ethna prepare というキーワードで検索した結果、 以下のページが見つかった。

要するに、prepare は未実装なだけで、実装することは可能、と。

最後に、PDO を使うようにはできるのか? Ethna の beta 版には、Ethna_DB_ADOdb.php なんてのが入っているので、 PEAR::DB べったりというわけでもなさそうだ。 検索してみると、以下のページが見つかった。

http://dozo.matrix.jp/pear/index.php/Framework/Ethna/PDO.html

このページの ToDo には、

prepareとか使えるようにしたい。

と書かれている。 じゃあ prepare は、 上の方法のように自分で実装すればいいかなと思ったが、 ダウンロードした Ethna_DB_PDO.tar.gz を見てみると、 prepare() も実装されているようだ。 おぉ、すばらしい。

ということで、なんだか人柱になりそうな雰囲気ではあるが、 見通しは立ったので、とりあえず Ethna でやってみますか。

Tags: Ethna | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink
本日のリンク元

編集