Controler les propriétés static

Résolu
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008 - 3 févr. 2008 à 22:19
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008 - 15 févr. 2008 à 19:45
Salut à tous !

Je bloque en ce moment sur un problème sur lequel je ne trouve pas de solution >_<"

J'aimerai avoir une propriété static qui puisse être vu n'importe où dans le code mais qui ne soit pas modifiable. Je ne peux pas utiliser une constante de classe puisque je souhaite enregistrer des objets.

Es ce que c'est possible ?

For every choice, a consequence (Fable)

7 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 févr. 2008 à 07:47
Salut

on a pas encore les properties en php, faut donc mettre un get_value(){return self::$value; }
/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 févr. 2008 à 08:22
Par contre dans ton cas, (et comme le suggère coucou, enfin je pense...lol) un accesseur dédié, public et statique serait ieux, afin que ta propriété puisse être lue même sans instancier la classe d'appartenance :
public static function getValue()
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 févr. 2008 à 19:54
Salut

ouais, c'est a un public static function get_value(){return self::$value; } que je pensais...

malalam, dans d'autres langages, les properties existent sur les classes, ca te definit des setters et getters directement, mais je me suis trompe, ca se fait sur les non statics

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 févr. 2008 à 22:59
Hello,

eh ben une propriété statique protégée ou privée, avec un accesseur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 févr. 2008 à 08:12
@coucou => je n'ai pas compris ton commentaire. Que veux-tu dire au juste ?
Une propriété de classe statique :
protected $myStatic = null;
et un accesseur : public function __get($mProp) {}
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 févr. 2008 à 20:47
Ok, je comprends mieux :-)
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
15 févr. 2008 à 19:45
Merci pour vos réponses (et désolé du retard pour ma réponse ^^")

Je cherchais à pouvoir faire un code équivalent :
<?php
var_dump(MaClass::$oTest);// Autorise l'affichage du contenu de la propriété statique.
MaClass::$sTest = 'modif'; // Erreur car la modification est interdite.
?>
Mais apparament c'est impossible à moins de passer par une méthode statique. Je voulais en être certain avant de passer à autre chose.

Encore merci !

For every choice, a consequence (Fable)
0
Rejoignez-nous