ethnaを試してみる。

WEB+DB PRESS Vol.36を書店で購入したので、いろいろなフレームワークを試してみることにした。
個人的には元PHP使い(のつもり)なので、和製PHPフレームワークethnaをインストールしてみた。
まずPEARのヴァージョンが<1.3.1だったのでpear channel-discoverを使うためにアップグレードすることにした。
順序としては、段階的に1.3.6→1.4.11とあげていったが途中でぃぺんでんしぃとかで怒られて苦労した。何かのパッケージ(Gtkとか)のバージョンをあげたほうがいいよ的なメッセージが出たがとりあえず無視して先へ進んだ。
PEARアップグレード後、何とかethnaインストールに成功したものの、index.phpをサーバで表示する際(Aliasをhttpd.confに追加)にSmarty関連のクラスが見つかりませんとかで怒られていた。
そこで、app/libにDLしてきたSmartyのlibsフォルダの中身を全部コピーして、エラーが出てるPHPファイルの先頭のrequireを修正したところ、何とかうまく動いた。(最初から入れといてほしい)
今のところIndexを表示してるだけだが、自動生成された各ファイルを観てみるとエンコーディングEUC-JPだったりShift_JISだったりでバラバラ。view/Index.phpEUC-JPなのでpreforward()メソッドで値をセットしてindex.tpl(Shift_JIS)に埋め込むだけでは文字化けしてしまう。ぐぐってみると、いろいろ方法があるみたいだが今は考え中。
とにかく、さわりだけみたかぎりではrailsと比べてもまだ発展途上のフレームワークといった印象だ。とりあえず、Java以外のやわらかい言語のフレームワークではまだPHPは実用に足りるのか疑問だ。(JavaではSeasarが気に入った)少なくとも今のところWebアプリを3分とか10分では作れそうもない。