在symfony中定义一个小部件的两种不同方法,可以使用哪些方法?

时间:2010-06-01 14:49:13

标签: symfony1

在教程中

我可以使用:

public function configure() {
    $this->setWidgets(array(
    'type' => new sfWidgetFormChoice(array(
                'choices' => Doctrine_Core::getTable('Gender')->getTypesForForm(),
                'expanded' => false,
                'multiple' => false,
    ))
));


    $this->widgetSchema['type'] = new sfWidgetFormChoice(array(
                'choices' => Doctrine_Core::getTable('Gender')->getTypesForForm(),
                'expanded' => false,
                'multiple' => false,
            ));
}

定义小部件。

我想知道我应该使用哪种以及为什么有两种写法呢?

感谢

1 个答案:

答案 0 :(得分:2)

他们是等同的; setWidgets()更清晰:它不假设$ this-> widgetSchema是一个数组(访问$ this-> widgetSchema直接打破封装),而且,它允许你一次设置多个小部件。