variable non définie

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : variable non définie

Re: variable non définie

par laetoune » 06 nov. 2011, 16:04

Merci beaucoup pour vos réponses.
Ca marche impec :)

Re: variable non définie

par moogli » 06 nov. 2011, 15:52

salut,

c'est parce que tu utilise des variables qui sont liée aux méthodes pas a l'objet.

tu doit utiliser le mot clef this pour accéder aux propriétés de l'objet dans lequel tu te trouve
<?php 
class Product {
         
         private $collection;
         
         public function setCollection($value){          
                 $this->collection = $value;
         }

         public function getCollection(){                
                 return $this->collection;
         }
}
?>
http://fr2.php.net/manual/fr/language.oop5.php


@+

Re: variable non définie

par xTG » 06 nov. 2011, 15:52

$this->production ;)
$production représente une variable locale à la fonction et non un attribut de l'objet.

variable non définie

par laetoune » 06 nov. 2011, 15:33

Bonjour,
Je suis bloquée sur des getter et setter.
<?php 
class Product {
	
	private $collection;
	
	public function setCollection($value){		
		$collection = $value;
	}

	public function getCollection(){		
		return $collection;
	}
}

//test des getter et setter
$prod = new Product();
$prod->setCollection("maCollection");
$colProd = $prod->getCollection();
var_dump($colProd); 
?>

Le résultat à l'écran donne :
Notice: Undefined variable: collection in /Users/pichardadeline/Sites/alexdore/Product.php on line 12
NULL

Tout ce passe comme si le setter setCollection de la classe produit ne valorise pas la variable privée $collection de la class, donc le getter ne la récupère pas.
Je ne comprends pas pourquoi.
Merci pour votre aide