3

我正在研究允许我从类注释自动创建表单的机制。例如,有一个名为“News”的类,带有一些自定义注释。

/**
 * @Admin\Form(name="news")
 */
class News
{
    /**
     *
     * @Admin\Field(name="title", type="text")
     */
    private $title;

} 

我的目标是编写一种机制来检查是否存在带有“表单”注释的类并基于此类字段创建表单。

我应该把这个机制放在哪里?首先我在考虑写FormFactory,但我相信有一个更好的地方来做这样的事情,也许是Extension?

4

2 回答 2

3

已经有一个包可以满足您的要求:http: //knpbundles.com/FlintLabs/FormMetadataBundle

但是,如果您想自己创建它,您应该创建一个包并在其中创建一个基于doctrine2规范的自定义注释驱动程序(因为Symfony使用Doctrine来读取注释)

于 2012-06-24T01:17:20.437 回答
0

在 Symfony2 中,您可以通过使用“表单类型扩展”向现有表单字段添加功能。

要将扩展应用于所有字段类型,请将getExtendedType()方法的返回值设置为“form”,即:

public function getExtendedType()
{
    return 'form';
}

我还没有弄清楚如何从表单扩展中获取注释。

于 2013-03-07T21:04:31.697 回答