blog.ishinao.net

293月/06

Zend Frameworkをどう使うか その19

フレームワークとしての基本機能を一通りチェックしたんで、実際に何か(ある程度実用的な)アプリケーションを作ろうかと思って試してみたんだけど、現時点ではまだサンプルアプリ以上のものを作るのはきついな。

もちろん動くものを作るだけならなんとかなるんだけど、Zend Frameworkベースのアプリケーションとして、ある程度の将来互換性も確保できるように作ろう、とか思うと現時点の完成度ではまだ無理だ*1

一応Controller周りは結構完成度が高そうなんで、そこだけならばいけそうではある。かなりフィックスした仕様に見えるし、たとえデフォルトでの挙動が変更されたとしても、現状の拡張性の枠組みの中でカバーできるであろう柔軟性を備えている。プラグインの機構も応用範囲が広そうだ。

Viewに関しては、現状が最終仕様とはとても思えないんで、おそらくまだまだ互換性のない仕様変更があるだろう。っつーか、現在のZend_Viewを使うくらいだったら、もっとこなれた他のテンプレートエンジン(Smartyとか)を使った方が、現時点ではずっとましだろう。

Zend_Logは、ログの保存がstaticメソッドに集約されたという設計はいいんだけど、デフォルトでCompositeじゃないのが使いにくい。自前のComposite Adapterとかを使ってカバーするという手もあるけど、その辺には仕様変更もありそうだし、現時点ではまだPEAR Logを使っておいた方がましかもしれない。

Zend_Db周りは非常にビミョー。Zend_Db_Adapterはあれで十分なんで、そのままいけるかなーと思いつつも、O/Rマッパー系は現状では実用レベルじゃないよなー。1テーブル単位のselectしかサポートしないO/Rマッパーで完結できるような設計なんて現実的じゃないし、ちょっとでもjoinしたければとたんにO/Rマッパーはつかえなくなっちゃうし。

Zend_Db_Tableにjoin系の機能が追加されるのはいつなんだろう? 一応Zend_Db_Inflector::plural(複数形化)とか用意されているし、そっち方向の拡張を行う気はあるんだよね。

ただまあ、すぐに実装されるってことはなさそうだよなー。Zend_Db_Adapterには文句はないから、ひとまずそれ+SQL文でがりがり書くのが現時点では一番無難か? それとも他にいいO/Rマッパーはないかなー。でもZend_Db_Adapterと連動するとなると、無理だよなー。

*1 もちろんPreview Releaseなんだから、そのくらいの完成度であることに文句はない

このエントリーを含むはてなブックマークはてなブックマーク - Zend Frameworkをどう使うか その19 Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
293月/06

date.timezone

PHP 5では、php.iniにdate.timezoneという項目が追加されていて、環境変数TZがセットされていないようなシステムで、date.timezoneも設定されていない場合はwarningが出るようになったのね。

このエントリーを含むはてなブックマークはてなブックマーク - date.timezone Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
293月/06

PHP 5.1.2-win+MySQL 3.23.58-win

の組み合わせでMySQLにアクセスすると、mysql関数を使ってもPDOを使っても、selectをした後にApache(mod_php)が落ちる(insertとかは問題ないいや、insertだけでも落ちてたっぽい)。原因を究明するのが面倒なんで、MySQLを4.1.15に換えたら問題なくなった。まあそろそろMySQL 3系を使い続けるのもなんだなーと思いつつあったんで、ローカルテスト環境も4.1系でいいか。

このエントリーを含むはてなブックマークはてなブックマーク - PHP 5.1.2-win+MySQL 3.23.58-win Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments