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

Zend Framework PHP Discussion :

[Debutant Ajax] Ou/Quand va intervenir Zend_JSON


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut [Debutant Ajax] Ou/Quand va intervenir Zend_JSON
    Bonjour,

    Je me mets gentillement à l'Ajax et j'ai des doutes. D'après ce que j'ai compris de JSON, il s'agit grosso modo d'un parser XML.

    D'après ce que je comprends, JSON va me permettre d'écrire mes requêtes Javascript (premier doute) ?

    Le helper AjaxContext va intervenir afin que le controlleur détermine si oui/non il vient de reçevoir une requête Ajax (second doute) ?

    Enfin, quand on veut intégrer du Ajax, quelles sont les éléments de ZF qui vont nous être utile (voir indispensable) ?

    Voilà, désolé pour ces questions vagues mais ceci reflète mes connaissances actuelles dans l'ajax!

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Json n'est pas un parseur xml, bien au contraire, c'est un langage de description comme l'xml.


    http://fr.wikipedia.org/wiki/Json

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Si j'ai compris ce qu'il fallait, JSON va me permettre de simplifier l'écriture des évènements javascript plutot d'écrire tout en bourrin.

    Donc avec JSON j'écris le code des évènements Javascript proprement, je passe le document JSON à un parser AJAX qui l'interprete, c'est bien ça ?

    Par contre, Zend_JSON me sert-il pour faire de l'ajax ?

    Désolé pour ces questions qui peut vous sembler bête mais j'ai du mal à tout cerner pour l'instant

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Sauf erreur, Zend_JSON n'est qu'un outil qui te permet d'encoder des variables ou des objets sous une forme facile à traiter par différents langages (pour ce qui te concerne php et javascript).

    Les puristes te diront que ça ne permet pas de faire de l'ajax. Le x d'ajax signifie XML. Or JSON est une alternative à XML. C'est un autre format d'échange. En pratique, si tu fais des requêtes asynchrone, le résultat est le même, seul le format d'échange change (et donc la constitution du message à envoyer et son interprétation).

  5. #5
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    Sauf erreur, Zend_JSON n'est qu'un outil qui te permet d'encoder des variables ou des objets sous une forme facile à traiter par différents langages (pour ce qui te concerne php et javascript).

    Les puristes te diront que ça ne permet pas de faire de l'ajax. Le x d'ajax signifie XML. Or JSON est une alternative à XML. C'est un autre format d'échange. En pratique, si tu fais des requêtes asynchrone, le résultat est le même, seul le format d'échange change (et donc la constitution du message à envoyer et son interprétation).
    Bonjour,
    Effectivement, JSON ne permet pas de faire d'AJAX, mais de l'AJAJ, mais le principe étant similaire, la combinaison avec JSON est également appelée AJAX.
    JSON signifie JavaScript Objet Notation, donc, Zend_Json est un outil permettant de transformer ( virtuellement ) un n'importe quoi PHP en un objet JavaScript ( class Zend_Json_Encode ) et de décoder un objet JS pour le convertir en n'importe quoi PHP ( la, la classe Zend_Json_Decode, mais j'avoue ne pas savoir comment ça marche )

    Conclusion : JSON te permettra tout de même de faire ton AJAX, à la difference près que tu manipulera un objet JavaScript au lieu de manipuler de l'XML, et pour avoir testé, les deux fonctionnements sont quasiment similaires
    Par contre ! JSON ne simplifiera en rien ta requête AJAX en elle même, ni son traitement !
    D'après ce que je comprends, JSON va me permettre d'écrire mes requêtes Javascript (premier doute) ?
    Ca non, pas du tout, JSON ne fais que de la manipulation de donnée, en gros, donc les requêtes, c'est toujours à la mimine
    Le helper AjaxContext va intervenir afin que le controlleur détermine si oui/non il vient de reçevoir une requête Ajax (second doute) ?
    Je connais pas cet Helper, mais personellement, quand je fais une requête AJAX, je l'envoie sur une Action qui ne fais que du traitement de requêtes AJAX. D'une part, c'est plus simple de faire des séparations ( pour les droits entre autre), d'autre part, je trouve ca plus esthétique
    Donc avec JSON j'écris le code des évènements Javascript proprement, je passe le document JSON à un parser AJAX qui l'interprete, c'est bien ça ?
    Nan toi tu écrira rien en JSON à proprement parler, tu aura pas de parseur miracle qui fais tout, malheureusement
    Enfin, quand on veut intégrer du Ajax, quelles sont les éléments de ZF qui vont nous être utile (voir indispensable) ?
    Ca depends, tu as globalement 4 techniques :
    - Texte brut ou tu renvoie un string encodé à ta sauce, que tu traite derrière à l'explode bien bourrin -> besoin de rien
    - Texte brut HTML, ou tu renvoie directement le code HTML à afficher -> besoin de rien, tu fais la méthode 'classique' d'afficher ta vue ( sans rien d'autre, juste la vue )
    - XML -> la encore c'est plus ou moins du texte brut, vu que créer de l'XML en PHP .. ca reviens à créer un string équivalent au XML
    - JSON -> pour ca, Zend_Json_Encode :: encode( ) ( ou JSON je sais plus la casse ) fonction encode en particulier

    Voila, j'espère avoir fait avancer le schmilblic ! enfin la résolution quoi

    Bonne chance !

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Oui, je ne dirai pas que je comprends mieux car je commence juste le javascript, après je vais voir l'ajax sans ZF.
    I'll be back quand je toucherai un peu mieux l'ajax.

    Merci beaucoup de ces explications, claires !

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

Discussions similaires

  1. [AJAX] [Scriptaculous] [JS][debutant] Ajax et popup ?
    Par lecail65 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/06/2007, 17h03
  2. [AJAX] Ouvrir en local une page
    Par Emcy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 13/11/2006, 08h57
  3. [AJAX] [JSP] Comment le moteur AJAX considère que le readyState == 4 ?
    Par SONY30 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/11/2006, 15h45
  4. [debutant] Ajax frameworks compatibles avec struts
    Par saif_21 dans le forum Struts 1
    Réponses: 10
    Dernier message: 21/08/2006, 09h58
  5. [AJAX] ajax et les frames
    Par ouquoi dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 17/03/2006, 16h11

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