【发布时间】:2013-12-08 17:49:31
【问题描述】:
我可以问一个澄清吗?在我使用的文件顶部(Silex 上下文):use Symfony\Component\Validator\Constraints as Assert;
假设我有一个数组$asserts,其断言名称为字符串:
'Assert\\NotBlank()',
'Assert\\Date()'
当我尝试时
foreach($asserts as $constraint) {
array_push($some_other_array, new $constraint)
}
我得到 Class Assert\NotBlank() not found,但是当我明确地创建新实例时
foreach($asserts as $constraint) {
array_push($some_other_array, new Assert\NotBlank())
}
一切正常。我做错了什么?
编辑:我尝试了使用和不使用() 以及类的完整路径。
解决方案:应使用不带括号的完整路径数组。
'Symfony\Component\Validator\Constraints\NotBlank',
'Symfony\Component\Validator\Constraints\Date'
最好的问候,
卡米尔
【问题讨论】:
-
松开字符串中类名末尾的括号。
-
确切的错误信息是什么?这些类有无参数构造函数吗?
-
是的,API