我正在尝试创建一个 zend 表单,它完全使用注释来引用单独的字段集。我正在使用ComposedObject
注释来执行此操作。但似乎没有添加/使用字段集类内的注释(如 \type 或 \attributes)。
仅使用来自父表单的注释。
例如,如果我要添加@Annotation\Type("number")
到父 Form 类,那么输入类型将正确设置为type="number"
. 但是,如果我要添加@Annotation\Type("number")
到 fieldset 类,那么什么都没有,nada,我得到type=""
了。我不知道为什么!
这是我的父表格:
<?php
namespace Permits\Form;
use Zend\Form\Annotation as Form;
/**
* @Form\Name("trips")
* @Form\Attributes({"method":"post"})
* @Form\Type("Permits\Form\Form")
*/
class TripsForm
{
/**
* @Form\Name("numberOfTrips")
* @Form\ComposedObject("Permits\Form\Model\Fieldset\numOfTrips")
*/
public $numberOfTrips = null;
}
这是字段集类Permits\Form\Model\Fieldset\numOfTrips
:
<?php
namespace Permits\Form\Model\Fieldset;
use Zend\Form\Annotation as Form;
/**
* @Form\Name("numOfTrips")
* @Form\Attributes({
* "class": ""
* })
*/
class numOfTrips
{
/**
* @Form\Attributes({
* "class" : "input--trips",
* })
* @Form\Options({
* "label": "",
* })
* @Form\Type("number")
*
*/
public $numOfTrips = null;
}
我正在使用以下方法创建表单:
$builder = new AnnotationBuilder();
$form = $builder->createForm('Permits\Form\TripsForm');
我将不胜感激任何帮助或指导。