我有一个类具有一些常量值,如下所示:
class MyClass
{
const ACCESS_NONE = 0;
const ACCESS_SUBMIT = 1;
const ACCESS_VIEW = 2;
const ACCESS_APPROVE = 3;
}
如何使用Symfony2在我的twig文件中创建类似下面的内容:
<select name="someName">
<option value="ACCESS_NONE">None</option>
<option value="ACCESS_VIEW">View</option>
<option value="ACCESS_SUBMIT">Submit</option>
<option value="ACCESS_APPROVE">Approve</option>
</select>
答案 0 :(得分:2)
正如drupality所说,你可以写一个这样的方法:
public static function getConstantsChoices()
{
return array(
self::ACCESS_NONE => 'None', //or 'ACCESS_NONE' => 'None' if you want the string
self::ACCESS_VIEW => 'View',
self::ACCESS_SUBMIT => 'Submit',
self::ACCESS_APPROVE => 'Approve',
);
}
如果你使用表格,你可以选择:
->add('name', 'choice', array(
'choices' => MyClass::getConstantsChoices()
))
答案 1 :(得分:1)
您需要使用适当的界面创建类:
http://symfony.com/doc/current/reference/forms/types/choice.html#choice-list
您总是可以手动创建数组,但如果您想在PHP中获取常量名称,唯一的方法是反射: