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

MVC PHP Discussion :

Zend Mvc et Flash


Sujet :

MVC PHP

  1. #1
    Membre habitué
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Points : 151
    Points
    151
    Par défaut Zend Mvc et Flash
    Bonsoir à tous,

    Je souhaite réaliser une application avec ZendFramework et Flash (AS3).
    Cependant, en faisant un état des lieux, je me suis rendue compte que lorsque je lance un appel à un fichier PHP depuis Flash (ex : http://localhost/monModule/monController/monAction), celui-ci n'est pas interprété comme tel.
    Il est interprété comme une url simple et cherche dans l'arborescence de fichier.

    Quelqu'un pourrait-il m'éclairer sur ce point ? Et aussi, j'aimerais avoir des retours sur des personnes ayant déjà utilisé Flash et Zend.

    Merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    regardes du coté de la réécriture d'URL, si elle est bien activer
    et que les règles sont écrites (ici celles du QuickStart)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /index.php [NC,L]

  3. #3
    Membre habitué
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Points : 151
    Points
    151
    Par défaut
    Merci pour ta réponse,

    Voici le contenu de mon .htaccess (je précise que le rewrite_module est activé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php
     
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
     
    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on
    Je vais essayer avec celui du QuickStart et j'éditerais ce Post.

    Merci

    [EDIT]
    Après plusieurs autres tests, j'en arrive à cette conclusion : mixer les deux sera je pense assez difficile. Comme la communication entre Flash et Php est basé sur des echo, cela pose énormément de problème. Zend utilise ses echo pour les différentes vues et layouts utilisé.

    Je suis donc totalement bloqué pour le moment : est ce que quelqu'un pourrait me venir en aide svp !!!!!!

    Merci d'avance

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 61
    Points
    61
    Par défaut
    dans ton action de contrôleur, tu fait appel à ta vue, tu lui assigne des variables etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->view->assign('maVariable', 'bob');
    puis dans ta vue tu les récupères,via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->maVariable; ?>
    la vue retournée en appelant ce contrôleur c'est l'équivalent d'appeler un simple page php avec un echo dedans!

    Vérifie avec firebug si la requête http://localhost/monModule/monController/monAction est bien appelé, vérifie ce qu'elle retourne. Essaie également d'appeler ton contrôleur / action manuellement.

  5. #5
    Membre habitué
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Points : 151
    Points
    151
    Par défaut
    Merci, sa à marcher. Moi, j'avais fait autre chose et sa marchais aussi donc c'est cool.
    Par contre j'ai trouver également deux astuces :
    - J'ai tout d'abord désactiver le rendu de la vue pour passer les paramètres POST de Flash vers PHP
    - J'ai également désactiver le layout car sinon le code HTML du layout était envoyé en POST (surement à cause d'un echo fait par zend)

    Est t-il possible d'en savoir plus sur tout d'abord le pk ? Mais aussi sur les inconvénient que j'aurais à désactiver le layout ?

    Encore merci d'avance

  6. #6
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 61
    Points
    61
    Par défaut
    J'ai également désactiver le layout car sinon le code HTML du layout était envoyé en POST (surement à cause d'un echo fait par zend)
    c'est étonnant!

    Je suppose que tu veut appeler l'action asynchrone comme en ajax (je ne sais pas comment fonctionne flash à ce niveau)
    Quand tu appel une url, tu doit pouvoir lui spécifier des paramètres en POST ou GET ensuite, tu récupère soit du HTML, du XML, du JSON... provenant de ta vue.

    Mettons qu'on veuille du texte:
    dans ton contrôleur / action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //on désactive le layout s'il est activé
    $this->_helper->layout->disableLayout();
    //on test si la requête est en POST
    if ( $this->getRequest()->isPost()) {
                // on récupère le paramètre POST
                $id = $this->getRequest()->getParam('id');
                // admettons qu'on se serve du paramètre id pour récupérer un libelle de produit en base et qu'on récupère le libelle via $lib
                //on assigne
                $this->view->assign('lib', $lib);
    }
    et dans ta vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $this->lib; ?>
    par exemple si tu appel cette action avec un paramètre POST = 2356
    la vu va juste afficher 'mon produit'

  7. #7
    Membre habitué
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Points : 151
    Points
    151
    Par défaut
    Oui c'est se que j'avais fait justement. Le passage de variable fonctionne lorsque le layout est désactivé.
    Cependant, j'aurais une autre petite question :

    Imaginons que l'on utilise l'url suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.monHote.fr/controleur1/action1
    La vue de cette action est utilisée et se situe en principe dans : views/scripts/controleur1/action1.phtml

    Par contre juste après, nous appelons l'url suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://www.monHote.fr/controleur1/action2
    Si l'on désactive le rendue de la vue, que se passe t'il ? Celle de l'action1 reste affiché tant qu'une autre n'est pas utilisé ?

    Merci d'avance

  8. #8
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 61
    Points
    61
    Par défaut
    Hé bien si l'on désactive le rendu du layout, il faut quand même créer un action2.phtml (vide si nécessaire) par contre je ne sais pas comment désactivé la vue complètement.

    Pour info, lors d'une requête ajax, j'ai ma vue qui est vide et dans l'action je fait un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $this->_helper->layout->disableLayout();
    echo Zend_Json::encode($maVariable)
    j'aurais pu faire également:
    dans l'action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->view->json = Zend_Json::encode($maVariable);
    dans la vue

Discussions similaires

  1. [FB4] Zend AMF et Flash Builder
    Par Freyskeyd dans le forum Flex
    Réponses: 4
    Dernier message: 18/11/2010, 19h22
  2. Conseils pour débutant Zend MVC
    Par SergeF dans le forum MVC
    Réponses: 3
    Dernier message: 27/01/2010, 15h08
  3. Débuter une application Zend MVC
    Par bedford dans le forum MVC
    Réponses: 5
    Dernier message: 28/10/2009, 16h43
  4. Réponses: 2
    Dernier message: 17/11/2007, 16h23
  5. Zend MVC + Ajax
    Par Reckonings dans le forum MVC
    Réponses: 3
    Dernier message: 06/08/2007, 16h36

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