Cakephpでforward

CakePHPでforwardってどうやるんだとずっと思ってたけど、てきとうにやったらそれっぽい挙動をしたのでとりあえず書いておく。

<?php
class YukkuriController extends AppController {
  function index() {
    ...
    $this->list();
    $this->render('list');
  }
  function list() {
    ...
  }
}

とりあえずこれでそれっぽく動いた。renderじゃlistアクション自体は実行されなかったのでじゃあ実行しちゃえ、で動いた。挙動としてはそれっぽいけど、何かが違う気がする。

まあいいや、どうせCakePHPはもう使いたくないので今作ってるものが実装できたらRailsかなんかでリファクタリングするし。


ちなみにsymfonyでは

<?php
function forward($module, $action);
function forwardIf($condition, $module, $action);
function forwardUnless($condition, $module, $action);
function forward404($message = '');
function forward404If($condition, $message = '');
function forward404Unless($condition, $message = '');

とかこんなに!?みたいなくらい揃っているんだけどなあ。むしろsymfonyの方が異常なのか。やっぱりsymfonyはえらいよ。