2010-11-11 8 views
0

Je voudrais le remplacer:Symfony: quel est l'accesseur de getCulture() dans une classe de formulaire?

$p = new sfWidgetFormI18nChoiceCountry(array('culture' => 'en')); 

par

$p = new sfWidgetFormI18nChoiceCountry(array('culture' => getCulture())); 

mais je manque un accesseur utiliser getCulture et je ne me souviens pas.

Quel est l'acesseur à utiliser getCulture sur la classe de formulaire? Quelle est ta technique pour te souvenir des acesseurs?

Merci

Répondre

3

Vous pouvez utiliser:

$culture = sfContext::getInstance()->getUser()->getCulture(); 

Mais la façon Symfony préférée consiste à "injecter" la culture dans la classe sous forme de votre action:

$this->form = new SomethingForm(array(), array('culture' => $culture)); // Inject it this way in your action 

$culture = $this->getOption('culture'); // Get it like this in your form class 
+0

merci;) je vais utiliser la norme (aka la 2ème voie) –