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

Langage PHP Discussion :

databinding PHP un peu à la JAX-B, architecture


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 11
    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.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 64
    Par défaut
    Salut,

    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.

    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.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 11
    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...

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 64
    Par défaut
    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.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 11
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WPF DataBinding] Binding un peu compliqué
    Par thanatoster dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 16/04/2008, 08h21
  2. Moderniser/migrer une appli PHP un peu dépassée
    Par megapiou dans le forum Langage
    Réponses: 3
    Dernier message: 11/01/2008, 17h43
  3. [Architecture] java dans php
    Par yann999 dans le forum Développement Web en Java
    Réponses: 14
    Dernier message: 03/05/2006, 13h58
  4. [POO] [Architecture]... d'un site en php-objet ?
    Par Pill_S dans le forum Langage
    Réponses: 13
    Dernier message: 13/02/2006, 14h05
  5. Réponses: 6
    Dernier message: 31/01/2006, 13h03

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