Page 1 sur 1
Vérifer instance d'une classe plus valeur d'une propriété
Posté : 29 oct. 2007, 13:35
par mcorgnet
Bonjour,
Depuis une classe PHP5, j'aimerais vérifier si cette classe a déjà été instanciée, et trouver la valeur de l'une des propriétés de la classe. A savoir que je ne connais pas le nom de l'objet une fois instancié ...
Est-ce possible ?
Merci à vous.
Posté : 29 oct. 2007, 13:37
par mcorgnet
Ha voui, pour information, je souhaite vérifer tout ça depuis l'intérieur de la classe ...
Posté : 29 oct. 2007, 15:25
par Sékiltoyai
Je n'ai pas trouvé dans le doc une fonction qui pourrait convenir, tu vas être obligé de faire une propriété privée $objects dans laquelle tu vas stocker tous les objets instanciés.
Posté : 29 oct. 2007, 15:29
par mcorgnet
J'ai aussi relu toute la doc classes php5, je n'ai pas tout compris, c'est pour ça que j'ai posé la question.
Il faut une propriété static, c'est ça ?
static $object;
Posté : 29 oct. 2007, 15:31
par Tracker
Moi je comprends pas ce que tu recherches (tellement c'est détaillé).
Si tu n'as qu'une instance, crée un singleton ou plus simple fais une classe statique...
Tracker.
Posté : 29 oct. 2007, 15:35
par Sékiltoyai
ouais, une propriété static est une propriété relative non pas à un objet, mais à la classe, donc indépendante de l'objet, et utilisable même lorsque aucun objet n'est instancié.
Tu y accèdes par TaClasse::propriété
Dans ce cas :
class machin
{
static $objects = array();
public function __construct()
{
machin::objects[] = $this;
}
public function __destruct()
{
for($i=0; $i<count(machin::objects); $i++)
{
if(machin::objects[$i]==$this)
{
unset(machin::objects[$i]);
return;
}
}
}
}
Posté : 29 oct. 2007, 15:38
par mcorgnet
Je vais essayer ça.
Merci de ton aide.