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 :

[POO] Ajax et Classes PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Par défaut [POO] Ajax et Classes PHP
    Bonjour à tous.
    J'espère poster ce message dans le bon forum.

    J'ai actuellement un site développé avec PHP5, tout en Objet qui fonctionne très bien.

    J'ai une classe "Affichage" qui contient toutes les méthodes qui me servent à afficher du code html dans ma page.

    Par exemple :
    Code index.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mon_afficheur = new affichage();
    $mon_afficheur->affiche_heure();

    Code affichage.class.php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function __construct() {
    (...)
    }
     
    public function affiche_heure(){
    echo "Il est <b>9:13</b>";
    }

    Jusque là, tout va bien. Je souhaite "AJAXiser" un peu le site, et donc actualiser des Div en mettant à l'interieur exactement ce que me renvoient mes méthodes d'affichage.

    Voici les 2 fonctions javascript que j'utilisent
    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
     
    <script type="text/javascript">
    function getCode(url,target) {
       // native XMLHttpRequest object
       document.getElementById(target).innerHTML = 'sending...';
       if (window.XMLHttpRequest) {
           req = new XMLHttpRequest();
           req.onreadystatechange = function() {getCodeDone(target);};
           req.open("GET", url, true);
           req.send(null);
       // IE/Windows ActiveX version
       } else if (window.ActiveXObject) {
           req = new ActiveXObject("Microsoft.XMLHTTP");
           if (req) {
               req.onreadystatechange = function() {getCodeDone(target);};
               req.open("GET", url, true);
               req.send();
           }
       }
    }
     
    function getCodeDone(target) {
       // only if req is "loaded"
       if (req.readyState == 4) {
           // only if "OK"
           if (req.status == 200 || req.status == 304) {
    		   results = req.responseText;
               document.getElementById(target).innerHTML = results;
           } else {
               document.getElementById(target).innerHTML="Requete Impossible\n" + req.status + " ll " + req.statusText;
           }
       }
    } 
    </script>
    Voici maintenant comment je procède pour charger, grâce à un bouton, le texte contenu dans le fichier "test.php" dans mon div (id=yeah)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div id="yeah">
    Ceci est le contenu de la div
    </div>
    <input type="button" value="AHAH !" onclick="getCode('test.php','yeah');getCodeDone('yeah');" />
    Tout ceci fonctionne très bien, mais j'ai un soucis, car maintenant, j'aimerais bien appeler les méthodes de mes classes PHP. Et là, je ne sais pas comment faire... Je ne peux pas faire d'appel php dans le code javascript... Ça serait pourtant tellement plus simple...

    Avez vous une idée? Est ce possible?
    Je vous remercie déjà d'avoir lu jusque ici, c'est peut être un peu long...

  2. #2
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Par défaut
    Tu peux faire un fichier php qui redirigera la requete en fonction du parametre que tu lui donnes en GET (genre lui donner la class et la method ainsi que les parametres).
    Avec ça, il execute la methode et renvoie le contenu. (attention, il faudra rajouter un systeme de filtre pour tes requetes ^^, sinon bonjour la securité)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Par défaut
    Bonjour, et merci pour ta réponse.

    J'avais effectivement pensé à ce système (ça fonctionne très bien )
    Si jamais je ne trouve pas d'autres solutions, je ferais comme ça, c'est déjà pas mal

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

Discussions similaires

  1. [POO] ma 1ère classe PHP :=)
    Par amazircool dans le forum Langage
    Réponses: 14
    Dernier message: 21/05/2007, 14h50
  2. [POO] Organisation des classes PHP
    Par AsQuel dans le forum Langage
    Réponses: 6
    Dernier message: 16/02/2007, 09h09
  3. [POO] Requête avec classe PHP
    Par krfa1 dans le forum Langage
    Réponses: 3
    Dernier message: 18/01/2007, 18h45
  4. Réponses: 1
    Dernier message: 29/10/2006, 05h04
  5. [POO] Question class php=>javascript
    Par jeff_! dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 15h10

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