IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Meilleure bibliothèque pour la création de formulaire en PHP


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut Meilleure bibliothèque pour la création de formulaire en PHP
    Bonjour,
    Je recherche depuis un bon bout de temps une librairie de génération de formulaire très complète en PHP 5.
    Si possible pas une librairie dépendante d'un framework.
    En connaissez-vous de qualité avec les critères mentionnés ci-dessus ?

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Hello, j'en ai fait une mais complètement propriétaire. Mais je viens d'en faire un prototype en deux secondes, pour un autre thread... ça peut te servir de base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <?php
     
    class XMLTag
    {
    	protected $_nodename;
    	protected $_child_nodes = array();
    	protected $_attributes = array();
     
    	public function __construct($nodename, $attributes = array(), $child_nodes = array())
    	{
    		$this->_nodename = $nodename;
    		if (!empty($attributes) && is_array($attributes)) $this->_attributes = $attributes;
    		if (!empty($child_nodes)) $this->_child_nodes = is_array($child_nodes) ? $child_nodes : array($child_nodes);
    	}
     
    	public function __toString()
    	{
    		$node_str = "";
    		$node_str_attr = "";
     
    		if (!empty($this->_attributes))
    		{
    			foreach ($this->_attributes as $name => $value)
    				$node_str_attr .= " $name=\"$value\"";
    		}
     
    		if (!empty($this->_child_nodes))
    		{
    			$child_nodes_str = "";
    			foreach ($this->_child_nodes as $node)
    				$child_nodes_str .= (string)$node;
     
    			$node_str = "<{$this->_nodename} $node_str_attr>$child_nodes_str</{$this->_nodename}>";
    		}
    		else
    		{
    			$node_str = "<{$this->_nodename}$node_str_attr />";
    		}
     
    		return $node_str;
    	}
     
    	public function appendChild ($entity)
    	{
    		$this->_child_nodes[] = $entity;
    		return $this;
    	}
     
    	public function setAttribute ($name, $value)
    	{
    		$this->_attributes[$name] = $value;
    		return $this;
    	}
    }
     
    // ----- //
    // TESTS //
    // ----- //
     
    $form  = new XMLTag('form', array('action' => 'index.php?rt=postForm', 'method' => 'post'));
    $label = new XMLTag('label', array(), 'un label');
    $input = new XMLTag('input', array('type' => 'text', 'value' => 'test'));
     
    $form->appendChild($label);
    $form->appendChild($input);
     
    class Select extends XMLTag
    {
    	/** Values must be an associative array **/
    	public function __construct ($name, $values)
    	{
    		$options = array();
    		foreach ($values as $key => $value)
    			$options[] = new XMLTag('option', array('value' => $key), $value);
     
    		parent::__construct('select', array('name' => $name), $options);
    	}
    }
     
    $form->appendChild(new Select('test-select', array('1' => 'One', '2' => 'Two', '3' => 'Three')));
     
    echo $form;
    Pour aller au bout de ma pensée, ce qui serait 'vachement bien serait de lire les structures des table (mysql, à adapter aux autres DBMS) pour générer les formulaires automatiquement, sans jamais m'être penché dessus je sais que Symphony le fais.
    Remarque dans ton cas ce sera relativement simple à faire si tu es un habitué de PHP et de MySQL.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut
    Pour aller au bout de ma pensée, ce qui serait 'vachement bien serait de lire les structures des table (mysql, à adapter aux autres DBMS) pour générer les formulaires automatiquement, sans jamais m'être penché dessus je sais que Symphony le fais.
    Je pense que c'est surtout l'ORM Doctrine qui permet ça (sans en être à 100% sûr).

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Citation Envoyé par dolu02 Voir le message
    Je pense que c'est surtout l'ORM Doctrine qui permet ça (sans en être à 100% sûr).
    En conjonction avec les sfForms, ça donne en effet l'effet voulu. Tout seul, Doctrine n'est "qu'un" ORM, il ne dispose pas de fonctionnalités de formulaires ; une fois intégré à symfony, il est possible de générer son modèle en formulaires (ça le fait aussi avec Propel).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Attention tout de même: doctrine utilise un couplage fort avec les structures des databases en utilisant du YAML (si mes souvenirs sont bons, à ne pas confondre avec Propel... ou bien je m'emèle les pinceaux). Bien qu'il existe des logiciels pour générer ces schémas YAML depuis des structures de tables (un plugin MySQL Workbench existe en effet), si vos databases changent, il faut changer le modèle et les formulaires.
    J'ai contourné le problème en créant des objets en Active Record (et je ne VEUX PAS entendre Active Record c'est moche en ORM) qui s'adaptent dynamiquement au structures des tables. Les formulaires s'adaptent quand à eux à ces objets modèles donc je reste en permanence compatible avec mes structures de tables.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut
    Merci pour vos réponses.
    Mais mon site n'est basé sur aucun framework donc je recherche quelque chose de dépendant.
    J'ai déjà recherché à plusieurs reprise des classes de formulaire avec gestion des erreurs mais sans succès (:

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/11/2011, 15h29
  2. Réponses: 1
    Dernier message: 24/09/2009, 14h33
  3. [Joomla!] [Joomla 1.5] Meilleur composant pour la gestion du formulaire ?
    Par riyahi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 01/06/2008, 11h03
  4. [Graphique] Bibliothèque pour génération de "jolis" graphes avec php
    Par mounia.n dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/04/2008, 22h32
  5. Meilleur script pour faire un magazine hebdomadaire en PHP
    Par simoryl dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 30/12/2006, 00h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo