アクション転送によるフィルタの繰り返し

今は

  1. グローバルアクションフィルタ
  2. アクションフィルタ
  3. アクション

という順番で処理が行われている。


ここにアクション転送が入ると

  1. グローバルアクションフィルタ
  2. アクションフィルタ1
  3. アクション1(アクション2に転送)
  4. グローバルアクションフィルタ
  5. アクションフィルタ2
  6. アクション2

となる。

ここまではいい。


これにコンバータが入るとまずいことになる。
基本的にフィルタはリクエスト値を変更しないので何回実行しても問題ない。(処理速度はおいといて)
でもコンバータを何回も実行すると、変換したリクエスト値に対して変換を行ってしまう。
かと言って$_GET等から直接変換すると、同じ変数に何種類ものコンバータをかけられない。



コンバータは1度だけ実行される、という決まりを作れば解決するんだけどそれはやりたくない・・。
アクションを指定したらそれに伴う処理が一意に決定されるようにしたい。



一度実行したコンバータは実行しないようにするしかないか・・。


今気が付いたけど、アクションもアクションフィルタも複数回実行しない方がいいのかな。
そうすると転送によるループも自動的に防げる。



何か見落としてるような・・・頭がぼーっとしてきたから取り敢えず寝とこう。