CakePHPの処理の流れを追ってみよう - d.hetima
コントローラー内で、_で始まるメソッドはアクセスできないようになっているが、
どのようにアクセスできなくしているのだろうか。
1. app/webroot/index.php の $Dispatcher->dispatch($url) でクラスのメソッドを呼び出す
2. cake/dispatcher.php の 139 行目 ここでURLを判断している
$privateAction = $this->params['action'][0] === '_';
URL の先頭がアンダーバー(_)の場合、$privateAction が true になり、
その少し後の cakeError() によってエラーになる。