Bonjour,
J'aimerais un avis à propos d'une architecture bizarre.
Le contexte : je dois afficher un graphe avec un formulaire contenant des options à afficher. A chaque fois que l'utilisateur coche une case et envoie le formulaire, je traite l'info et je reviens sur la même page, avec le graphe à jour.
En PHP classique, mon architecture serait la suivante :
A chaque fois que je change la valeur du champ texte, ma variable $var est à jour et je peux l'exploiter pour mon graph (par exemple, c'est la position d'un axe).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <html> <head> <?php $x="vincent" ?> <?php $var = isset($_POST['y']) ? $_POST['y'] : "machine" ?> </head> <body> <?php echo $x ?> <form method="POST"> <input type="text" name="y" value="<?php echo $var ?>"></input> <input type="submit" value="OK"></input> </form> </body> </html>
Je veux maintenant faire ça avec symfony et j'ai l'impression que je suis assez maladroit.
J'ai créé un formulaire tout simple :
Et je me suis basé sur l'action/template index déjà existant pour un certaine modèle pour faire le reste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class CptBudgetaireForm extends BaseForm { public function configure() { $this->setWidgets(array( 'nom' => new sfWidgetFormInputText(), )); $this->setValidators(array( 'nom' => new sfValidatorString(array('max_length' => 255)), )); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function executeIndex(sfWebRequest $request) { $this->preferences = Doctrine::getTable('Preference') ->createQuery('a') ->execute(); $this->form1 = new CptBudgetaireForm(); $x = $request->getParameter('nom'); $this->form1->bind(array('nom' => $x)); }Bon, ça marche à peu près, mais je suis prêt à penser que le style n'y est pas du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form action="<?php url_for('preference/index')?>" method="post"> <?php echo $form1 ?> <input type="submit" value="OK"></input> </form>
Qu'en pensez vous?
Partager