Symfony2,如何创建基于类常量的下拉菜单?
我有一个类有一些常量值,如下所示:Symfony2,如何创建基于类常量的下拉菜单?,symfony,twig,Symfony,Twig,我有一个类有一些常量值,如下所示: class MyClass { const ACCESS_NONE = 0; const ACCESS_SUBMIT = 1; const ACCESS_VIEW = 2; const ACCESS_APPROVE = 3; } 如何使用Symfony2在我的小树枝文件中创建如下内容: <select name="someName"> <option value=
class MyClass
{
const ACCESS_NONE = 0;
const ACCESS_SUBMIT = 1;
const ACCESS_VIEW = 2;
const ACCESS_APPROVE = 3;
}
如何使用Symfony2在我的小树枝文件中创建如下内容:
<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>
没有一个
看法
提交
批准
您需要创建具有适当接口的类:
您始终可以手动创建数组,但如果希望在PHP中获得常量名称,唯一的方法是反射:
正如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()
))