トップ «前の日記(2006-03-28) 最新 次の日記(2006-03-30)» 編集

いしなお!

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|
2009|03|

2006-03-29 [長年日記]

_ [PHP][PHP5][MySQL] 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][PHP5][date] date.timezone

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

_ [PHP][PHP5][Zend Framework] 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なんだから、そのくらいの完成度であることに文句はない

[]