示例行动
$object = new myObject();
$object->setName("Darth <b>Vader</b>");
$this->form = new myObjectForm($object)
现在在视图中:
echo $form->getObject()->getName();
这将输出名称NOT escaped。
好的,我可以将动作改为:
$this->object = new myObject();
$this->object->setName("Darth <b>Vader</b>");
$this->form = new myObjectForm($this->object)
现在看来:
echo $object->getName();
这将输出名称转义,精彩;)
但是,是否有自动获取$ form-&gt; getObject() - &gt; getName()的方式?
答案 0 :(得分:0)
当您直接从Form获取对象时,它不会自动转义,您应该通过操作传递需要转义的对象:
$this->object = $this->form->getObject();
最终,如果您确实需要在视图中执行此操作,则可以将对象从Form传递给ObjectDecorator以进行转义:
$escaped = new sfOutputEscaperObjectDecorator(ESC_SPECIALCHARS,$form->getObject());
echo $escaped->getName(); // Will return escaped value