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.
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.
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 (:
Partager