Valeur variable fonction dans une autre fonction

Résolu/Fermé
ekivox13 Messages postés 70 Date d'inscription jeudi 6 mars 2014 Statut Membre Dernière intervention 2 juin 2014 - 6 avril 2014 à 23:56
ekivox13 Messages postés 70 Date d'inscription jeudi 6 mars 2014 Statut Membre Dernière intervention 2 juin 2014 - 7 avril 2014 à 20:16
Bonjour,

Cette question à été mainte fois posée sur le net, j'en suis conscient, malgré tout toutes les solutions qui semblent fonctionner pour d'autres ne fonctionnent pas pour moi :)..

En gros j'ai

une class dans laquelle j'ai plusieurs fonctions, et je souhaite récupérer la valeur de l'une d'elle dans l'autre fonction.. J'ai essayé en déclarant ma fonction en global comme ceci

class GetFinalPrice
{
public $device = "";
public function FinalPrice()
{
//réduction du code
global $device;
$device = $data['name'];
}

public function DeviceName()
{
global $device;
$devicename = $device;
return $devicename;
}

}


ça ne renvoi rien...

J'ai essayé comme ceci :


class GetFinalPrice
{
public function FinalPrice()
{

$device = $data['name'];
}

public function DeviceName()
{
$devicename = FinalPrice($device);
return $devicename;
}

}

Je fais forcement une connerie quelque part... Mais ça fait 2 heures que je cherche dans tous les sens, et je pige pas... Je prends toute idée ou piste :)


1 réponse

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
7 avril 2014 à 20:01
Bonjour !
Tu semble mélanger légèrement le procédural et l'objet.

Essaye ceci pour voir (Je n'ai pas de serveur php sous la main pour tester, désolé) :
class GetFinalPrice{
	private $device = "";
	public function FinalPrice($data){
		$this->device=$data['name'];
	}  
	public function DeviceName(){
		return $this->device;
	}
}


J'ai aussi rajouter la variable $data en paramètre à ta fonction FinalPrice, ne voyant pas où il était défini :)
Pense donc à la lui envoyer lors de ton appel à cette fonction, où te modifier ton code en conséquence.
0
ekivox13 Messages postés 70 Date d'inscription jeudi 6 mars 2014 Statut Membre Dernière intervention 2 juin 2014 14
7 avril 2014 à 20:16
Merci pour cette réponse,

j'ai finalement procédé autrement.. En envoyant le tout dans un array à partir de la première fonction.. Mon but était surtout de pouvoir afficher le device name hors de ma class.. n'importe où sur ma page.

Pas impossible que je m'emmêle les pinceaux entre procédural ou objet.. J'ai encore du pain sur planche :). Mais merci pour ton aide. Je me garde ça de coté car je sens que ça me servira !
0