CakePHPでlistアクションを追加できない?

CakePHPでlistアクションがつくれない?CakePHPであるアイテムのリストを出力するアクションを実装しようとして /item/listでアクセスできるようにItemControllerにlistアクションを追加したらエラーになってしまいました。

"syntax error, unexpected T_LIST, expecting T_STRING"

なんじゃこれ?っておもって調べてみたらPHPの予約語にあたってしまったようです。

PHP: キーワードのリスト – Manual

しっかりlist()が掲載されてます。PHPの予約語はクラス名、関数名には使えないとかいてありますね。エラーになったのでメソッド名もNGってことですね。

今回はプログラムの可読性を考えてアクション名をlistから変更したのですが、どうしてもURLを/listにしたい場合はroutesをいじることで対応できます。

アクション名を list_actionしておいて app/config/routes.phpで下記の様な記述を追加すればOK.

Router::connect('/:controller/list', array('action' => 'list_action));

ただ命名規則からはずれたアクション名やコントローラが増えると混乱の元になるので、アクション名変更する方が後々コード読みやすくいいかなって思います

2006年に株式会社RYUS をたちあげ。
XOOPSは、2002年からさわってます。最近はすっかりロードバイクにはまってしまってます→40代からのロードバイク
NetCommons3の開発にも参加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です