1. Home
  2. Archive
  3. [symfonyメモ]アクションをファイルでわけるときの注意点

[symfonyメモ]アクションをファイルでわけるときの注意点

最近がっつりsymfonyで開発してるわけで、日々わからないことだらけなんですが、溜めてエントリーにしようとすると超大作になってしまって結局書かないと思うので、はまったところとかを全部小出しで書いていくことにしました。殴り書きのメモみたいなもんですが。

で、最初はアクションをファイルでわけるときにはまったこと。例えばlistというアクションをつくるときに、actions.class.phpにlistSuccessというメソッドをつくる方法と、listAction.class.phpをつくる方法があります。これ、後者の方だとexecuteメソッドの引数の$requestにsfWebRequestをつけるとエラーになるという罠。

/path/to/symfony_root/app/appName/module/moduleName/actions/listAction.class.php

<?php

class listActions extends sfAction
{
  public function execute(sfWebRequest $request)
  {
  }
}

これだとエラーになる。sfWebRequestを外せばおk。

親クラス(sfComponent)のexecuteメソッドにsfWebRequestついてないからエラーになるんだけど、スケルトンのactions.class.phpのexecuteIndexの引数にはsfWebRequestついてるから紛らわしい。

executeXXXでsfWebRequestついててもエラーにならないのは親クラスで定義してるメソッドじゃないからです。スケルトンについてる意味がよくわからん。

コメントフォーム

※HTMLタグは使用できません。