symfony1.2のComponentの呼び出しについてのいろいろ
Action内で呼び出す
<?php $this->getComponent('module_name', 'component_name')->someAction();
Template内で呼び出す
<?php include_component('component_name', 'partial_name', array('some', 'params')) ?>
Requestの扱い
Template内
include_component()では、常にsfContext::getRequest()が渡されるようになっている。
<?php public executeComponentMethod(sfRequest $request) { $request->getParameter('name', 'default scalar'); }
Action内
自分で渡す必要がある。
<?php public executeSomeAction(sfRequest $request) { $this->getComponent('module_name', 'component_name')->someAction($request); }
include_component()の第3引数で指定したvarの取得
<?php $this->getRequestParameter('name', 'default scalar'); // or $this->getRequest()->getParameterHolder()->get('name');