我form[fieldsdata]只喜欢使用已定义的内容:
$fieldsJson = $data["form[fieldsdata]"] ? $data["form[fieldsdata]"] : "";
Run Code Online (Sandbox Code Playgroud)
但是错误消息仍然是:
注意:未定义的索引:form [fieldsdata]
我尝试替换对象方法中的变量:
$fieldname = "project";
$test = $page->getTemplate()->getProject();
Run Code Online (Sandbox Code Playgroud)
这是我的方法:
$test = $page->getTemplate()->'get'.$fieldname();
Run Code Online (Sandbox Code Playgroud)
但是我收到错误消息
语法错误,意外的“获取”(T_CONSTANT_ENCAPSED_STRING),期望的标识符(T_STRING)或变量(T_VARIABLE)或“ {”或“ $”
我正在尝试减少一些代码,以使其看起来更干净:
if($target == "edit"){
$formBuilder->add('getTimestamp', DateType::class, array(
'widget' => 'single_text',
'format' => 'dd.MM.yyyy',
'html5' => false,
'attr' => array('class' => 'js-date form-control', 'style' => 'line-height: 20px;'), 'label' => $field['fieldName'],
));
} else {
$formBuilder->add('getTimestamp', DateType::class, array(
'widget' => 'single_text',
'data' => new \DateTime(),
'format' => 'dd.MM.yyyy',
'html5' => false,
'attr' => array('class' => 'js-date form-control', 'style' => 'line-height: 20px;'), 'label' => $field['fieldName'],
));
}
Run Code Online (Sandbox Code Playgroud)
这是我的方法:
if($target == "edit"){
$newdate = ['data' => new \DateTime()];
}
$formBuilder->add('getTimestamp', DateType::class, array(
'widget' => …Run Code Online (Sandbox Code Playgroud) 我正在从对象创建变量“模板”:
$templateId = $page->getTemplate()->getId();
Run Code Online (Sandbox Code Playgroud)
但是在某些情况下,“ $ page”中不存在“ template”。在这种情况下,我希望“ $ templateId”为空。
我的方法:
$templateId = property_exists($page->getTemplate()->getId()) ? $page->getTemplate()->getId() : "";
Run Code Online (Sandbox Code Playgroud)
错误:
在null上调用成员函数getId()