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 :

[PHP 5]Accessibilité d'un objet dans une fonction


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut [PHP 5]Accessibilité d'un objet dans une fonction
    Salut à tous amis developpeur et developpeuse. Je débute en php objet et y'a un truc que je comprend pas. J'ai un projet en cour developper sur le model Model Vue Controller. J'ai un objet "erreur qui ce rempli suite à la verification de mon controleur. Le soucis est que lorsque j'appel ma fonction de controle il ne trouve pas l'objet erreur appeler dans l'index. Si j'appel ma methode en dehors de la fonction de controle tout va bien mais dans celle-ci c'est mort... Éclairez moi si possible...

    Mon index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    		//Liste des models
    		include_once ('application/models/connect.php');
    		include_once ('application/models/erreur.class.php');
    		include_once ('application/models/formation.class.php');
    		include_once ('application/models/domaineFormation.class.php'); 
     
    		//Liste des controllers
    		include_once ('application/controllers domaineFormation.ctrl.php');
     
    		$formation = new formation();
    		$erreur = new erreur();
    La partie de mon domaineFormation.class.php qui appel mon controlleur :
    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
    public function genererXMLDomaineFormation($idFormation)
    		{			
    			$i=0;
    			$xml = '<domaine-formation>'."\n";
    			
    			//$erreur = "genererXMLDomaineFormation=>";
    			
    			//Liste des formacodes (rep min 0, rep max 5)
    			$tabFormacode = $this->getFormacodesSelonIDFormation($idFormation);
    			if ($tabFormacode){
    				foreach($tabFormacode as $ligne){
    					if($i<5){
    						verifFormacode($idFormation, $ligne->FORMACODE_CODE);
    						$xml .= "<code-FORMACODE>".$ligne->FORMACODE_CODE."</code-FORMACODE>"."\n";	
    					}
    					$i++;
    				}
    				$i=0;
    .............
    Et mon controlleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //Verification taille Formacode = 5
    	function verifFormacode($idFormation, $formacode)
    	{
    		if (isset($formacode)){
    			if(strlen($formacode)<>2){
    				$libelleErreur = "Erreur : Formation=>$idFormation, Formacode=>$formacode : Taille du champ Formacode incorrect.";
    				$erreur->ajoutErreur($libelleErreur);
    			}
    		}	
    	}

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    Soit tu passes ton objet Erreur dans le constructeur de l'objet qui va l'utiliser et tu le gardes ainsi sous la main via $this->
    Soit tu la déclares comme étant une variable globale avant de l'utiliser :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function verifFormacode($idFormation, $formacode)
    {
        global $erreur;

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Je ne connaissais pas le global, merci en tout cas. Ca marche nikel

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

Discussions similaires

  1. [Langage/Algorithme] Changer Propriete d'un objet dans une fonction
    Par SVC1234 dans le forum C++Builder
    Réponses: 1
    Dernier message: 11/06/2010, 22h23
  2. [VB.NET] Suppression d'objets dans une collection
    Par master56 dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/06/2010, 21h46
  3. [SGBD] [POO PHP 4.4.2] Problème mysql_query dans une fonction
    Par Djoul dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 16/06/2006, 13h25
  4. [PHP-JS] pb lecture script php dans une fonction au démarrage
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 15h07
  5. Transmission d'un objet crée dans une fonction
    Par EvilAngel dans le forum ASP
    Réponses: 2
    Dernier message: 10/05/2004, 20h19

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