2010-06-01 6 views
1

dans le tutoriel je peux utiliser:2 façons différentes de définir un widget dans symfony, lequel utiliser?

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, 
      )); 
} 

pour définir un widget.

Je me demande ce que je devrais utiliser et pourquoi il y a 2 façons d'écrire ceci?

merci

Répondre

2

Ils sont équivalents; setWidgets() est plus propre: il ne suppose pas que $ this-> widgetSchema est un tableau (l'accès à $ this-> widgetSchema casse directement l'encapsulation), plus, il vous permet de définir plusieurs widgets à la fois.

+0

Je suppose que "nettoyeur" est subjective :-) J'aime pouvoir faire ma configuration de widget explicitement regroupés par widget (par exemple -> setDefault(), -> setLabel()) :-) – richsage

+0

Je voulais dire "nettoyeur" comme dans "encapsulé" - si, dans la prochaine version, $ this-> widgetSchema cesse d'être un tableau (et devient par exemple un objet), $ this-> widgetSchema ['quelque chose'] = $ somethingelse va se casser. – Piskvor

Questions connexes