ビューキャッシュ(2) キャッシュ読み込みタイミング
特定のURL(ビューキャッシュが作成されると、その後、同じURL(model/action/parms)にアクセスしても、コントローラ・モデル・ビューなどの処理を一切通過しなくなります。
その処理は、Dispacherの中にありました。
cake/dispacher.php
function dispatch($url = null, $additionalParams = array()) { (中略) $this->here = $this->base . '/' . $url; if ($this->cached($url)) { $this->_stop(); } $controller =& $this->__getController();
cache()では、$url(path)に該当するキャッシュがCACHE/view以下にあると、それを出力します。
一方、dispatch()はコントローラなどの読み込み処理($this->__getController() etc)を開始する前にSTOP。
とこのような流れになっていました。
Controllerなどの処理を一切通さないから早い。
でも、だから微妙に「融通が効かない」・・・ (^^;