2010-08-29 15 views
0

Quelqu'un a-t-il des astuces avec des applications de construction similaires à wufoo.com? Je construis une application où l'utilisateur connecté crée des formulaires d'une manière similaire ... ce que je me demande est si zend, symfony ou yii est le mieux adapté pour cela?Génération de formulaire à la volée/Formulaires/formulaires dynamiques générés à partir de modèles

Je vais recueillir des conseils ici pour que les autres voient plus facilement.

avantages des cadres qui pourraient aider à cela:

  • symfony doctrine (mais les formes sont déployées en exécutant un script?)
  • Zend a sa forme et sous-formulaire intégrations (et peut-être intégrer doctrine est possible?)
  • Zend a form_decorators mais ils ont un seuil élevé à apprendre.
  • yu a son générateur de formulaire et une bonne connexion de base de données PDO

ou sont-il d'autres cadres qui simplifient la « génération de forme à la volée »?

PS. La solution djangos est très intéressante mais elle doit être en php.

Répondre

1

Travailler normalement avec symfony Je sais que c'est possible avec symfony. Vous pouvez générer des formulaires à la volée de cette manière. Je pense que Zend Framework fait cela d'une manière similaire, donc ce serait aussi un choix approprié.

Comment vous le feriez dans symfony, bien qu'il soit "flexion" le cadre un peu:

  1. Créer une table avec des formulaires (nom, etc.) et une table avec formfields (type, nom, requis)
  2. Créer une classe sfForm avec une méthode configure() qui extrait les champs pour le formulaire donné et dynaniquement ajoute les champs de formulaire à $this->widgetSchema et les validateurs à $this->validatorSchame.
  3. Go :)

C'est peu pas ce que le cadre de formulaire est destiné à (champs dynamiques) de cette façon, mais je l'ai utilisé avec succès pour certains projets.

Concernant le Javascript mentionné par Codacula: Je ne pense pas qu'il y ait quelque chose dans la question qui permette le genre d'utilisation Javascript qui est mentionné. Il est probable que certains Javascript vont dans ce, mais il ne fait pas partie de la question à mon avis.

2

Je ne peux pas penser à tout spécialement spécialisé dans la génération de formulaires à la volée. Cela ressemble beaucoup à une entreprise basée sur Javascript, donc vous finirez probablement par utiliser un Javascript lourd basé aussi.

En outre, la génération de formulaire n'est pas aussi simple que l'utilisation d'un framework, en particulier pour les personnes qui n'utiliseront pas ce framework spécifique. Beaucoup de cadres ajoutent des champs cachés ou nomment les champs d'une certaine manière. Je suis prêt à parier que cela finirait par être un casse-tête en essayant de faire quelque chose pour la population générale en utilisant un cadre prédéfini plutôt que de trouver votre propre solution. Si vous êtes catégorique quant à l'utilisation de PHP pour générer les formulaires, alors je passerais le Javascript pour l'instant et trouverais une solution qui fonctionne avec de simples requêtes HTTP, et ensuite utiliser un framework JS pour créer vos formulaires générer "dynamiquement".

2

Je ne connais pas les autres frameworks mais je peux dire ceci à propos de Zend Framework. Sa classe Zend_Form est très puissante et flexible. Ce serait très bien adapté à un tel projet, mais il y a une courbe d'apprentissage abrupte pour Zend_Element_Decorators. Avec Zend, vous stockez des informations sur votre formulaire dans une base de données en utilisant Zend_Db et vous l'utilisez pour construire un Zend_Form en utilisant sa fonction addElement() pour créer les éléments nécessaires.

Bien sûr, il est préférable d'utiliser cette option pour créer votre propre génération de formulaires. Pour autant que je sache, il n'y a pas d'interface entre Zend_Db et Zend_Form mais vous pouvez en écrire beaucoup. Zend est très flexible, vous pouvez faire à peu près ce que vous voulez. Peut-être que les autres cadres sont meilleurs pour ce que je ne saurais pas.

+0

Merci. Je n'ai pas encore regardé form_element_decorators mais cela semble prometteur. En ce moment je travaille dans Yii qui a des méthodes décentes pour rendre des formes à partir de tableaux (dont ceci pourrait être récupéré à partir d'une base de données). – Mikelangelo

1

Une autre solution de création de formulaire écrite en PHP vaut la peine d'être vérifiée est http://code.google.com/p/php-form-builder-class/. Je l'ai utilisé dans mon développement web et je le recommanderais. Il semble être bien écrit et m'a permis de gagner beaucoup de temps à mettre en place des projets.