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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 31
    Points
    31
    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 éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    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
    Points : 7 762
    Points
    7 762
    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 averti
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    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
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    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 éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    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
    Points : 7 762
    Points
    7 762
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 31
    Points
    31
    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 (:

  7. #7
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    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
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par pierrehs Voir le message
    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 (:
    Je crois que tu voulais dire indépendant.
    Les formulaires en PHP sont (très) généralement spécifiques à une application en particulier, remarque tu aura plus de chance avec des validateurs de formulaire avec Javascript/Ajax. Un exemple ici : http://docs.jquery.com/Plugins/validation

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    Par défaut
    Voici une classe PHP ultra complète : http://www.phpclasses.org/package/1-...lidation-.html

    Je ne l'ai pas essayée, mais l'auteur de cette classe est loin d'être un manchot en écriture de classe.

  9. #9
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    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
    Points : 7 762
    Points
    7 762
    Par défaut
    Wow en effet ça à l'air d'être de l'artillerie lourde. Je crois remarquer que ça marche sous Smarty son machin.
    Egalement j'ai l'impression que ça fait tout, jusqu'au CRUD, prudence donc...

    A tester donc

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Merci,
    Je vais voir ça

    P.S. Oui je voulais dire indépendant

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    Par défaut
    Citation Envoyé par pierrehs Voir le message
    Merci,
    Je vais voir ça

    P.S. Oui je voulais dire indépendant
    Un petit feedback serait bienvenu quand tu auras pu le tester.

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