【发布时间】:2013-03-06 12:27:40
【问题描述】:
我花了好几个小时把头撞在墙上。无论如何,我的表单字段的标签都没有出现。
终于发现,如果没有光标所在的额外空间(见图),所有注释都会被忽略。我正在使用 ZF 2.1.1 和 Doctrine Common 2.2.3。
我做错了吗?或者这是 ZF 或 Doctrine 解析器中的错误?
作品:
class LoginForm
{
/** @Annotation\Type("text")
* @Annotation\Options({"label":"Store ID:"})
* @Annotation\Required(true)
* @Annotation\Filter({"name":"StringTrim"})
* @Annotation\Validator({"name":"StringLength","options":{"min":2,"max":64}})
*/
public $sStoreId;
}
失败,除非 /** 后面有空格:
class LoginForm
{
/**
* @Annotation\Type("text")
* @Annotation\Options({"label":"Store ID:"})
* @Annotation\Required(true)
* @Annotation\Filter({"name":"StringTrim"})
* @Annotation\Validator({"name":"StringLength","options":{"min":2,"max":64}})
*/
public $sStoreId;
}
【问题讨论】:
-
我的所有@Annotations 也被忽略了。我扔了一个@Annotation\ErrorCheckThisIsPoorlyMade() 没有抛出任何错误。什么给了?
-
另外,我确实发现我必须添加 use Zend\Form\Annotation;到班级的顶峰。它在注解中使用快捷方式“注解”,您需要为该类定义命名空间。
-
是的,需要
use Zend\Form\Annotation;。 -
添加 Zend\Form\Annotation 解决了我的问题,感谢@cr125rider
标签: php forms annotations doctrine zend-framework2