ActionHelperやPluginを有効利用しようと模索していますが、
今回Pluginでチェック処理を行った際に、気づいたことがあります。
Plugin内でExceptionを発生させても、処理は止まらないということ。
Zend_Controller_Action内の処理で発生した場合は止まるのに。(※1)
※1
Zend_Controller_Action内とは、ActionHelper、Controller内で
利用しているmodelの処理を指しています。
調べてみると、PluginでのExceptionはPluginBroker
(Pluginの処理を統合してるとこ)の中で全てcatchされているために、
PluginBrokerを呼び出しているFrontControllerでは認識できません。
そのために、FrontControllerはPlugin内でExceptionが発生しても、
その後の処理をどんどん実行していくというわけです。
チェック次第で処理を中断するという内容の処理を記述するなら、
Zend_Controller_Action内(※1)でってことですね。
HelperとPluginのこういう違いがわかっていくと、使い分けの
目安がなんとなくできるようになっていきますね。