Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2007, 14h25   #1
Invité régulier
 
Inscription : juin 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 11
Points : 6
Points : 6
Envoyer un message via AIM à striky2 Envoyer un message via MSN à striky2
Par défaut databinding PHP un peu à la JAX-B, architecture

Bonjour à tous,

Je suis confronté à un problème assez général en prog, mais qui se pose à moi en PHP / JS, et j'aimerai bien votre avis sur la question...

voici le pb :

Positionnement, comment je vois le problème du "databinding" en général
• Je reçois un fichier XML, dont les noms des balises sont A, B et C
• Je dois retourner des objets dont les noms des params sont D,E
• Je ne connais pas à l’avance les noms A,B,C,D,E (parfois D,E quand même)
• Je veux créer une méthode (pas au sens objet, koike) « générale » pour sauver le fait que A va sur D, que B va sur E et que C va sur rien par exemple.

Dans le concept de méthode générale, je sous-entend deux choses :
> comment sauvegarder le fait de savoir (A > D, B > E, ...)
> comment utiliser de manière normalisée cette sauvegarde (ex fonction qui lit toute la sauvegarde (A > D, B > E, ...) et qui fait l'action décrire les objets cibles à partir du XML source.)

>> bien sûr je ne veux pas recoder tout ceci, mais trouver qqchose pour m'aider à la faire, au passage, il me semble qu'il y a une librairie entière sous JAVA, qui s’appelle JAX-B, et qui fait ça très bien (databinding XML > objets JAVA)

Mais revenons à mon problème en particulier :

2/ appliqué à mon cas (deux formulaires sur la même page dont on fait passer les données de l'un à l'autre : non, il ne s'agit pas d'un "bête" problème de javacript du tout... j'anticipe, on sait jamais)

• J'ai un formulaire 1 créé par du PHP qui a des champs dont les noms sont A,B et C (qui ne sont réglés que par un administrateur, sous-entendu, le code ne « connaît pas » ces noms, ils ne sont pas écrit « en dur » dans la partie logique du programme.
• J'ai un formulaire 2 créé par du PHP sur la même page avec des noms D, E (qui ne sont pas réglés non plus par le codeur)
• L’administrateur, pas forcément en mode admin d'ailleurs, mais peut-être dans du code XML, ou dans du code d’une variable globale qui enregistrerait tout ça, ...), explicite la liaison de données, entre les champs des formulaires 2 et 1.

On retrouve ainsi les deux même questions
>> comment faire la sauvegarde du "linking" ou "binding" entre 2 et 1 (variable, fichier XML de liaison, base de données, ...)
>> comment faire pour construire une fonction (php?) de parcours de cette sauvegarde qui écrit dynamiquement du javascript qui lui permet, quand un utilisateur clique sur ("copier de 2 vers 1"), de faire le réel passage du champ texte A au champ texte D.

Si la solution est "tout coder à la main" parce qu'en PHP, contrairement à JAVA, rien n'existe pour faire ça, la question est, y-a-t'il au moins des "accélérateurs" à utiliser pour se rapprocher de choses "connues" ?

D'avance Merci beaucoup.
striky2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 12h54   #2
Membre du Club
 
Inscription : juillet 2006
Messages : 66
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 66
Points : 50
Points : 50
Salut,

Citation:
Si la solution est "tout coder à la main" parce qu'en PHP, contrairement à JAVA, rien n'existe pour faire ça
..


Sinon, je ne connais pas JAX-B, mais il me semble que ton probléme est simple.

Citation:
comment sauvegarder le fait de savoir (A > D, B > E, ...)
comment utiliser de manière normalisée cette sauvegarde (ex fonction qui lit toute la sauvegarde (A > D, B > E, ...) et qui fait l'action décrire les objets cibles à partir du XML source.)
Il semblerait que pour la sauvegarde, un fichier .ini te conviendrait.

( a quoi bon utiliser du XML pour gérer une structure "simple" )

[monformulaire]

A = D
B = E
etc...

http://fr3.php.net/manual/fr/functio...e-ini-file.php


Pour ce qui est de la lecture du document XML, pour obtenir les balises A,B,C, D
même si tu ne sais pas que ces balises s'apellent A,B,C,D

tu a plusieurs moyens entre autre :

http://fr3.php.net/manual/fr/functio...t-children.php

Si tu ne connais pas leur position exacte dans le document, je suppose qu'il y a au moins un attribut qui permet de les reperer :

http://fr3.php.net/manual/fr/functio...sbytagname.php

( Le nom de la balise à chercher. La valeur spéciale * correspond à toutes les balises. )


puis un test sur l'attribut en question pour chaque noeud et tu sais si c'est un des noeuds que tu cherche.
Finidrigoler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 13h30   #3
Invité régulier
 
Inscription : juin 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 11
Points : 6
Points : 6
Envoyer un message via AIM à striky2 Envoyer un message via MSN à striky2
Par défaut merci bien.

En fait, le problème est simple tant qu'on introduit pas la notion de types des objets A,B,C,D,E ainsi que de leurs controllers associés....

Mais bon, j'ai quand même ma réponse, il faut que je fasse moi-même un ini ou un xml qui décrit

> les correspondances de noms d'objets
> les fonctions de cast de types à utiliser (exemple: string array to string serialized, ...)
> les fonctions de cast de controllers des objets à utiliser (exemple la fonction de rappatriement d'un [formulaire présentant une image] vers une cible [formulaire demandant l'url de l'image], où des choses du style...)

et me tapper au passage le code de ces choses là quand elles n'existent pas en PHP...
striky2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 14h08   #4
Membre du Club
 
Inscription : juillet 2006
Messages : 66
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2006
Messages : 66
Points : 50
Points : 50
Au cas ou, sur google,

http://www.google.fr/search?q=data+b...ient=firefox-a

j'ai vu un lien vers developpez.com

Et dans le topic :

http://php.net/sdo

ça semble être ce que tu cherche.
Finidrigoler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2007, 18h17   #5
Invité régulier
 
Inscription : juin 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 11
Points : 6
Points : 6
Envoyer un message via AIM à striky2 Envoyer un message via MSN à striky2
Par défaut SDO, merci

voilà oui, c'est tout à fait ce genre de choses que je cherche... je vais regarder en détail plus longuement... et j'avais pas vu ça sur la recherche google d'ailleurs

Merci encore
striky2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h28.


 
 
 
 
Partenaires

Hébergement Web