Pau*_* T. 3 php forms events get symfony
当我尝试从事件PRE_SET_DATA获取数据时,我得到了具有良好价值的对象,但我无法使用它.
这是我的测试代码:
$builder->addEventListener(
FormEvents::PRE_SET_DATA,
function(FormEvent $event) use ($factory){
$data = $event->getData();
print_r($data);
}
);
Run Code Online (Sandbox Code Playgroud)
这会返回一个长文本:
"你\ CommercantBundle\Entity\LivraisonChoix对象([id:YOU\CommercantBundle\Entity\LivraisonChoix:private] => 22 ......"
但是当我使用吸气剂时:
$builder->addEventListener(
FormEvents::PRE_SET_DATA,
function(FormEvent $event) use ($factory){
$data = $event->getData();
print_r($data->getId());
}
);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
FatalErrorException:错误:在非对象上调用成员函数getId()
我如何访问数据?
这适用于PRE_BIND事件.
我需要将此条件用于getter工作:
if ($data instanceof \YOU\CommercantBundle\Entity\LivraisonChoix) {
}
Run Code Online (Sandbox Code Playgroud)