技術日記
無効なルーティングでIndex/Indexを呼ばせないEdit

Zend Framework(trunk)でRewriteRouterを使っていて、無効な(設定したルートいずれにもマッチしない)ルーティングの場合はエラーが出てほしいんだけど、なぜかIndex/Indexにルーティングされてしまう。

フロントコントローラ(もしくはディスパッチャ)のuseDefaultControllerAlways設定の問題かなーと思ったんだけど、それもデフォルトのままでOKのはずだし、おかしいなーと思いつつも、あまり重要度が高くない問題だったんでしばらく放置していた。

けど、やっぱり気色悪いなーとソースを追いかけてみたところ、なんだかZend_Controller_Dispatcher_Standard::isDispatchable()の、

         if (!$className) {
return true;
}

         if (!$className) {
return false;
}

なんじゃないかという気がしてきたんだけど、まさかバージョン1.0.0が発表されてずいぶん経つし(もう1.0.1も発表されてるし)、こんなところにこんなバグが残っているはずがない気もするし、Zend FrameworkのJIRA(バグ管理ツール)もまた落ちているみたいだし(っつーか、最近Zend FrameworkのWikiにつながったことないんだけど、その辺のサーバーって生きてるの?)、ひとまずここでさらしてみる。

直った

やっぱりバグだったのか。1.0.2(ZF-1727)で修正されていた。っつーか、1.0.2が出るまでずっとJIRAが死んでなかった? そんなにまめにチェックしていたわけじゃないけど、もしかしてZFの開発はすでに収束に向かっているのかと疑ってしまったよ。

Published At2007-09-20 00:00Updated At2019-12-30 23:57