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 :

[POO] petite khôle variable ecrasée


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Par défaut [POO] petite khôle variable ecrasée
    re-salut

    pouvez vous me dire pourquoi $mv->_model['menu'] ou $mv->_model['article'] sont ecraser suivant ou il se trouve dans le script

    1er cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($array_menu=$menu->getChildren($id,true)){
    			$d = new Description($this->_conf['MySite'],'PAGE_ARTICLE');
    			$d->loadDataClass(array('PAGE_ARTICLE.id_page='.$id));
    			$mv->_view = 'page.tpl';
    			$mv->_model['menu'] = $array_menu;
    			$mv->_model['article'] = $d->getArticle();
    			$mv->_model['header'] = $d->getHeader();
    $mv->_model['menu'] est écrasé

    2ieme cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($array_menu=$menu->getChildren($id,true)){
    			$d = new Description($this->_conf['MySite'],'PAGE_ARTICLE');
    			$d->loadDataClass(array('PAGE_ARTICLE.id_page='.$id));
    			$mv->_view = 'page.tpl';
    			$mv->_model['article'] = $d->getArticle();
    			$mv->_model['menu'] = $array_menu;
    			$mv->_model['header'] = $d->getHeader();
    $mv->_model['article'] est écrasé
    jusqu'a preuve du contraite $mv->_model['article'] et $mv->_model['menu']
    n'on pas la meme adresse

    comprend pas
    pour annexe
    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
     
    class ModelView
    {
    	private $_view;
    	private $_model;
     
    	public function __set($name,$value)
    	{
    		switch ($name)
    		{
    			case '_view':$this->_view=$value;break;
    			case '_model':$this->_model=$value;break;
    			default:throw new Exception('unknow property '.$name);break;
    		}
    	}
    	public function __get($name)
    	{
    		return $this->$name;
    	}
    }
    merci

  2. #2
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Salut
    Est ce que ca ce pourrait que ce soit a cause de la déclaration des attributs de ta classe...il sont privates...tu ne devrais pas y avoir droit en passant directement par ton objet $mv.. :

    Il ne faudrait pas plutot que tu passe par ta méthode __get()?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Par défaut
    non
    avec les methodes magic __set et __get
    je peut appeler et definir mes attributs directements

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 314
    Par défaut
    ba dans ton premier cas m'écrasement se fait là à priori :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mv->_model['menu'] = $array_menu;
    Fais un check sur $array_menu avant de l'affecter à $mv->_model['menu']

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Par défaut
    que veut tu dire par un check?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Par défaut
    je peut ajouter ce que je veux a fonctionne
    mais il y a toujours un probleme entre les cles menu et article
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $mv->_model['menu'] = $array_menu;//variable ecrasée
    			//print_br($array_menu);
    			$mv->_model['article'] = $d->getArticle();
    			$mv->_model['header'] = $d->getHeader();
    			$mv->_model['essai'] = array('cocc');
    			$mv->_model['bizard']=$array_menu;//variable non ecrasée
    vous avez une methode de debogage ou un moyen de voir l'adresse d'une variable

    autre complement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //$mv->_model['menu'] = $array_menu;
    			$mv->_model['article'] = $d->getArticle();
    			$mv->_model['header'] = $d->getHeader();
    			$mv->_model['bizard'] = $array_menu;
                           la ca ne fonctionne pas
     
    $mv->_model['menu'] = $array_menu;
    			$mv->_model['article'] = $d->getArticle();
    			$mv->_model['header'] = $d->getHeader();
    			$mv->_model['bizard'] = $array_menu;
                 mais la oui

Discussions similaires

  1. [POO] Retrouver une variable d'instance de classe
    Par stailer dans le forum Langage
    Réponses: 1
    Dernier message: 18/02/2006, 10h56
  2. Réponses: 2
    Dernier message: 17/12/2005, 20h52
  3. [POO] Portée des variables, classe....
    Par Avatar dans le forum Langage
    Réponses: 3
    Dernier message: 27/11/2005, 21h25
  4. [POO] Probleme de variable
    Par Azimel dans le forum Langage
    Réponses: 11
    Dernier message: 27/10/2005, 17h26
  5. Réponses: 6
    Dernier message: 23/09/2005, 12h54

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