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 :

[Web Service] Persistance des classes


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 52
    Points
    52
    Par défaut [Web Service] Persistance des classes
    Bonjour à tous,

    Je me retrouve confronté à un problème assez délicat, je m'explique:

    Je travail sur un projet PHP existant, qui jusqu'à présent utilise une classe PHP qui gère tout ce qui est relatif à l'attaque de la base de donnée : exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class connection(){
     
    function getResults($requete)
    {
    mysql_query(........)
    }
     
    function fetch()
    {
    ......
    }
    .....
    }

    Partout dans le projet, les methodes de cette classes sont appelées.

    Mon but est maintenant d'implémenter un serveur de service Web qui assure la transition entre le projet PHP (les fichiers installés sur un serveur APACHE), et le serveur MYSQL.

    La contrainte est que je ne peux modifier que la classe connection, et pas le reste du code (notamment tous les endroits ou les méthodes de cette classe sont appelées).

    J'ai mis en place un serveur de WebService opérationnel, qui se sert de cette même classe.

    Ma question est la suivante, comment je peux gérer la persistance de l'instance de la classe ?

    A chaque fois que j'appelle une methode du web service, j'ai pas de notion d'instanciation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //$client est un objet soapClient	
    $r=$client->getResults('select * from users');
    while($row=$client->fetch(0))
    {
     
    }
    entre deux appels de méthodes du web service, tout a été reinitialisé ce qui fait que dans mon fetch, il n'y a plus rien.

    Ma question est alors: comment gérer la persistance de l'instance de ma classe entre deux appels de methode du web service ?

    Par avance merci pour vos renseignements

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 46
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par gostbuster Voir le message
    Bonjour à tous,

    Je me retrouve confronté à un problème assez délicat, je m'explique:

    Je travail sur un projet PHP existant, qui jusqu'à présent utilise une classe PHP qui gère tout ce qui est relatif à l'attaque de la base de donnée : exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class connection(){
     
    function getResults($requete)
    {
    mysql_query(........)
    }
     
    function fetch()
    {
    ......
    }
    .....
    }

    Partout dans le projet, les methodes de cette classes sont appelées.

    Mon but est maintenant d'implémenter un serveur de service Web qui assure la transition entre le projet PHP (les fichiers installés sur un serveur APACHE), et le serveur MYSQL.

    La contrainte est que je ne peux modifier que la classe connection, et pas le reste du code (notamment tous les endroits ou les méthodes de cette classe sont appelées).

    J'ai mis en place un serveur de WebService opérationnel, qui se sert de cette même classe.

    Ma question est la suivante, comment je peux gérer la persistance de l'instance de la classe ?

    A chaque fois que j'appelle une methode du web service, j'ai pas de notion d'instanciation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //$client est un objet soapClient	
    $r=$client->getResults('select * from users');
    while($row=$client->fetch(0))
    {
     
    }
    entre deux appels de méthodes du web service, tout a été reinitialisé ce qui fait que dans mon fetch, il n'y a plus rien.

    Ma question est alors: comment gérer la persistance de l'instance de ma classe entre deux appels de methode du web service ?

    Par avance merci pour vos renseignements
    Je sais pas si cela peux t'aider mais moi j'avais des problèmes pour deux appels de remote méthodes dans un même script, et donc il fallait tout simplement mettre ton objet SoapClient dans une variable Globale:
    $GLOBALS['WebServices'] = new SoapClient etc ...

    $GLOBALS['WebServices']->function1...

    $GLOBALS['WebServices']->function2...

    etc ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 52
    Points
    52
    Par défaut
    Bonjour et merci pour ta réponse,

    j'ai résolu le problème en manipulant ma classe du webservice, et pour chaque appel obligatoire à la base mysql, je fais un mysql_pconnect.

    Le temps de réponse est très acceptable....

    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2012, 16h41
  2. WEB SERVICE récupérer des listes d'objets
    Par kevdep dans le forum 4D
    Réponses: 3
    Dernier message: 13/07/2011, 11h19
  3. Lenteur avec un Web service et des pie charts
    Par laurent_diep dans le forum Silverlight
    Réponses: 10
    Dernier message: 25/03/2009, 16h26
  4. Consommation de Web Services, comparaison des frameworks
    Par shivack dans le forum Services Web
    Réponses: 1
    Dernier message: 17/07/2008, 14h58
  5. Réponses: 1
    Dernier message: 26/02/2007, 09h44

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