在Symfony Form类中访问sfWebRequest


Accessing sfWebRequest in Symfony Form Class?

I当前正在为用户编写表单,以创建需要用户IP地址的新记录

我已经准备好了:$this->getObject()->setIp(ip2long($sf_request->getRequest()->getHttpHeader ('addr','remote')));

但很明显,我没有$sf_request对象在我的表单模型。我如何访问这个并获得用户的IP地址?

谢谢

试试这个:

访问Action方法的$request参数,并从http报头中提取ip。然后,在视图文件中,尝试将变量作为参数发送到表单文件。我不知道具体是怎么做的,但我知道,例如,你可以传递一个对象作为参数给表单来填充它

好运

考虑一下。我将setIP方法移动到我的操作中,并用以下内容覆盖默认的processForm方法:

  public function processForm(sfWebRequest $request, sfForm $form){
    $form->getObject()->setIp(ip2long($request->getHttpHeader ('addr','remote')));
    return parent::processForm($request, $form);
  }