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 ?
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 ?
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 :
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.
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;
Remarque dans ton cas ce sera relativement simple à faire si tu es un habitué de PHP et de MySQL.
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
Je pense que c'est surtout l'ORM Doctrine qui permet ça (sans en être à 100% sûr).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.
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 !
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.
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
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
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
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.
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
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons , et
Merci,
Je vais voir ça
P.S. Oui je voulais dire indépendant
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager