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

Flex Discussion :

Flex 3 et AMFPHP


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Game developer
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Game developer

    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Par défaut Flex 3 et AMFPHP
    Pour me former à Flex, je suis un livre. Seulement j'ai encore beaucoup de mal à comprendre les principes d'AMFPHP. Le but du livre est de développer un site de ecommerce. J'ai beau suivre pas à pas le livre, je n'arrive pas à faire fonctionner AMFPHP. Je me résouds donc à poster un message pour expliquer un problème.

    Je précise que je n'utilise pas Flex Builder, mais que je code avec d'un éditeur de texte.

    Voici ce que j'ai fait :
    J'ai un fichier principal mxml (ereflex.mxml) qui permet de se connecter en tant qu'utilisateur ou administrateur. En fonction de la connexion, le fichier fait appel à un module (utilisateur ou administrateur).

    Voyons de plus près le module administrateur (modAministration.mxml):
    Il contient 2 onglets qui permettent la gestion des fournisseurs et la gestion des produits. Ce fichier appelle un fichier actionscript qui permet de charger les paramètres amfphp. Voici le fichier actionscript :
    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
     
    import mx.controls.Alert;
     
    /*************************************
              Paramètres AMFPHP          *
    **************************************/
    public var URL:String;
     
    public function chargerParametrageAmfPhp():void{
    	var chargeur:URLLoader = new URLLoader();
    	var adresse:URLRequest = new URLRequest("parametrage_amfphp.xml");
    	chargeur.load(adresse);
    	chargeur.addEventListener(Event.COMPLETE, finDuChargement);
    	chargeur.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);
    }
     
    public function finDuChargement(e:Event):void{
    	var contenu:XML = new XML(e.target.data);
    	URL = contenu.amfphp.serveur;
    }
     
    public function indiquerErreur(e:Event):void{
    	Alert.show("Erreur lors du chargement des paramètres amfphp");
    }
    Le fichier parametrage_amfphp.xml contient uniquement le chemin vers le gateway.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="utf-8"?>
    <parametre>
    	<amfphp>
    		<serveur>
    			<a href="http://localhost/amfphp/gateway.php" target="_blank">http://localhost/amfphp/gateway.php</a>
    		</serveur>
    	</amfphp>
    </parametre>
    dans le dossier service d'amfphp, j'ai la classe servModAdministration (servModAdministration.php) dont voici les déclarations :

    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
     
    class ServModAdministration{
    		protected $serveur		= "localhost";
    		protected $mdp			= "mysql";
    		protected $utilisateur		= "root";
    		protected $baseDeDonnees	= "db_reflex";
    		protected $connexion		= null;
    		protected $methodTable		= null;
     
    		public function construct(){
    			$this->methodTable = array(
    				"serviceListerFournisseurs"=>array(
    					"description"=>"Liste les fournisseurs",
    					"access"=>"remote"
    				),
    				"serviceASMFournisseurs"=>array(
    					"description"=>"Ajout Suppression Modification d\'un fournisseur",
    					"access"=>"remote"
    				)
    			);
    		}
    }
    J'utilise Easyphp. Ma base de données db_reflex est bien créée et contient des tables et des enregistrements.
    J'ai placé le dossier AMFPHP dans le dossier www de EasyPhp. J'ai créé un alias AMFPHP (C:\\Program Files\\EasyPHP 3.0\\www\\amfphp\) sur EasyPhp. Lorsque je clique sur le dossier "browser", cela m'affiche bien ma classe servModAdministration et mes fonctions fonctionnent bien. Lorsque je clique sur le fichier gateway.php, j'ai le message suivant : "amfphp and this gateway are installed correctly. You may now connect to this gateway from Flash..." Je suppose donc que mon amfphp est bien installé.
    Mon site est installé à la racine C dans le dossier root_flexsdk. Sur easyphp, j'ai aussi créé un alias pour lancer mon site (C:\\root_flexsdk\\samples\\eReflex\)

    Lorsque je lance mon site à partir de mon alias sur EasyPhp, et que je me connecte en mode Administrateur, j'ai le message d'erreur "Erreur lors du chargement des paramètres amfphp" qui provient de ma fonction indiquerErreur() dans le fichier actionScript appelé pour charger les paramètres d'AMFPHP.

    J'espère que j'ai tout précisé, que je n'ai rien oublié et que vous avez tout à votre disposition pour m'expliquer l'erreur que j'ai bien pu faire.
    Merci d'avance !

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Dans un premier temps remplace Event par IOErrorEvent dans indiqueErreur et donne nous le type de l'erreur...

  3. #3
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Quel est la ligne de commande que tu utilises pour compiler ? utilises tu un fichier xml ?
    prends tu bien en compte ton parametrage_amfphp.xml pour builder ?

    Bref : Comment compiles-tu ?

  4. #4
    Membre habitué
    Femme Profil pro
    Game developer
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Game developer

    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Par défaut
    J'ai une erreur #2032
    Sinon pour compiler, je fais
    mxmlc ..\samples\eReflex\src\modAdministration.mxml
    Faut-il inclure un fichier supplémentaire pour la compilation ?

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Je ne connais pas tellement la compile en ligne de commande mais normalement si tu utilises FlexBuilder tu dois avoir une reference sur ce fichier mxml dans le flex compiler.
    Donc en ligne de commande tu devrais avoir quelquechose de similaire.
    Voici un bon tuto te permettant de compiler à partir d'un fichier xml externe.

    Je pense que tu devrais insérer quelquepart dans les balises <compiler></compiler> quelquechose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <compiler>
      <services>parametrage_amfphp.xml</services>
    </compiler>
    Essaye, ça pourrait peut être venir de là

    [EDIT] :j'ai changé le services-config.xml dans le code par ton nom de fichier parametrage_amfphp.xml

  6. #6
    Membre habitué
    Femme Profil pro
    Game developer
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Game developer

    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Par défaut
    Après avoir bien lu les conseils et le tuto proposé par Krazymins, j'ai réussi à me débarasser de l'erreur. Visiblement, il ne trouvait pas mon fichier xml, mais en mettant le chemin absolu, il ne fait plus d'erreur. Ca semble être un point positif, même s'il faut que je finisse par trouver quel chemin relatif il attend.
    Cependant, le chargement semble poser problème. En plaçant des Alert.show("") à chaque ligne, je me rend compte qu'il n'y a pas de lecture des lignes après le load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public function chargerParametrageAmfPhp():void{
    	var chargeur:URLLoader = new URLLoader();
    		Alert.show("0");
    	var adresse:URLRequest = new URLRequest("C:\root_flexsdk\samples\eReflex\src\actionscript\parametrage_amfphp.xml");
    		Alert.show("1");
    	chargeur.load(adresse);
    		Alert.show("2");
    	chargeur.addEventListener(Event.COMPLETE, finDuChargement);
    		Alert.show("3");
    	chargeur.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);
    		Alert.show("4");
    }
    Au chargement de mon site, il m'affiche 0 et 1, mais pas 2, 3 et 4. Une idée ?

Discussions similaires

  1. Comment configurer flex SDK pour AMFPHP ?
    Par totoAussi dans le forum Flex
    Réponses: 1
    Dernier message: 28/02/2011, 11h56
  2. pb envoie données de flex vers php amfphp
    Par nma dans le forum Flex
    Réponses: 2
    Dernier message: 07/12/2010, 14h46
  3. envoie de donnée flex vers php via amfphp
    Par nintendoplayer dans le forum MXML
    Réponses: 1
    Dernier message: 18/05/2009, 10h52
  4. Flex et Mysql : ASSQL ou AMFPHP ?
    Par Navyel dans le forum Flex
    Réponses: 2
    Dernier message: 27/03/2008, 16h36
  5. [flex 2 Builder et AMFPHP]
    Par Invité dans le forum Flex
    Réponses: 3
    Dernier message: 17/09/2007, 18h25

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