1 回答
TA贡献1779条经验 获得超6个赞
您可以声明getStatuses为Cake,static或使用公共常量。例如:
class Cake
{
// with static variables
private static $statuses = [
'not_ready' => 'Not Ready',
'almost_ready' => 'Almost Ready',
'ready' => 'Ready',
'too_late' => 'Too late',
];
public static function getStatuses()
{
return self::$statuses;
}
// or with public const
public const STATUSES = [
'not_ready' => 'Not Ready',
'almost_ready' => 'Almost Ready',
'ready' => 'Ready',
'too_late' => 'Too late',
];
}
这似乎是合理的,因为返回值不是实例而是特定于类的。
然后你可以使用:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('status', ChoiceType::class, [
'choices'=> Cake::getStatuses(),
]);
// or
$builder->add('status', ChoiceType::class, [
'choices'=> Cake::STATUSES,
]);
}
如果选择实际上取决于给定的 Cake 实例,您可以通过选项数组或使用表单事件传递它。
- 1 回答
- 0 关注
- 126 浏览
添加回答
举报
