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 :

Retour d'un objet


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Par défaut Retour d'un objet
    Bonjour,

    J'ai un petit soucis et je viens à vous car je ne vois vraiment pas comment faire :/

    j'ai une classe Dispatcher qui s'occupe en fonction du fichier passé en paramètre de créer un nouvel objet correspondant à une nouvelle classe kml par exemple le problème est que mes return ne se font pas ou du moins l'objet à la base Dispatcher ne se change pas en objet Kml.. j'espère avoir été claire

    Voici mon code :
    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 Dispatcher {
     
    	public function __construct($sFile) {
    		$this->controlFile($sFile);
    	}
     
    	public function controlFile($sFile) {
    		//Si le fichier existe
    		if(file_exists($sFile)) {
    			//Vérification de l'extension
    			$extension = pathinfo($sFile, PATHINFO_EXTENSION);
     
    			//Si l'extension est en "kml" ou e "KML"
    			if(($extension == "kml") || ($extension == "KML")) {
    				return $object = new Kml($sFile);
    			}
    			else {
    				return new autre objet;
    			}
    		}
    	}
    }

    index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $object = new Dispatcher("FILES/cardio.kml");
    $object->getChFile();
    print_r($object);
    J'ai donc une erreur pour getChFile() car dispatcher ne l'a connais pas et que $object ne s'est pas changé en fait en objet KML.

    L'autre classe fonctionne...

    Avez vous une idée :s

    Merci d'avance à vous

    Cordialement

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2004
    Messages : 108
    Par défaut
    Bonjour,

    Tout d'abord un return dans la méthode __construct de fonctionnera pas. Lorsque tu instancie une classe avec le mot clé new alors il te sera renvoyé l'instance de cette classe et rien d'autre.

    Ensuite dans tout les cas cela n'aurais pas marché car tu as justement oublié le return dans $this->controlFile($sFile); .

    A priori dans ta classe Dispatcher tout est dans une seule méthode, pourquoi ne pas externaliser cette méthode comme suite :

    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
     
    function controlFile($sFile) {
    		//Si le fichier existe
    		if(file_exists($sFile)) {
    			//Vérification de l'extension
    			$extension = pathinfo($sFile, PATHINFO_EXTENSION);
     
    			//Si l'extension est en "kml" ou e "KML"
    			if(($extension == "kml") || ($extension == "KML")) {
    				return $object = new Kml($sFile);
    			}
    			else {
    				return new autre objet;
    			}
    		}
    	}
    Avec pour l'appeler juste :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $object = getChFile("FILES/cardio.kml");

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Par défaut Reponse
    C'est justement ce que j'ai fais du coup j'ai tout externalisé parce que je me suis bien rendu compte que ce que j'essayais de faire était un peu fastidieux et inutile donc tampis ma fonction marche très bien sans classe et ça le restera comme ca !

    Merci beaucoup d'avoir pris du temps pour me répondre en tout cas

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

Discussions similaires

  1. afficher le retour d'un objet Shell
    Par Emcy dans le forum Général Java
    Réponses: 11
    Dernier message: 28/05/2009, 17h58
  2. [POO] Retour de l'objet créé avec parent
    Par Xunil dans le forum Langage
    Réponses: 16
    Dernier message: 02/07/2007, 10h08
  3. retour tableau d'objets par service web axis jboss
    Par TrollMaster dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 27/11/2005, 22h45
  4. retour d'objet par référence...
    Par sas dans le forum C++
    Réponses: 15
    Dernier message: 28/05/2005, 18h54
  5. Retour chariot dans l'inspecteur d'objet
    Par All Jinx dans le forum Composants VCL
    Réponses: 3
    Dernier message: 20/10/2004, 02h28

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