Je désire avoir un objet Converter comme membre static de ma classe :
class MaClasse {
private static $_statusConverter = new Converter();
private $_name;
private $_date;
public function __construct() {
//...
}
}
Sauf que bien sûr ça n’est pas possible car je ne peux pas faire de new Class() dans le corps de la classe.
En Java il existe un concept de « constructeur statique » : la même chose existe-il en PHP5 ?
Non, pas en php5 (à voir sur php5.3 & 6)
Mais tu peux faire l’initialisation après la déclaration de ta classe. Genre MaClasse::init(); qui ferait le sale boulot pour toi.
Ah oui 
J’étais justement partit pour faire le new après la déclaration de la classe mais ça forçait à avoir mon membre en public :-/
Mais faire une fonction statique init() que j’appelle derrière est encore mieux.
class MyClass {
protected static $_var;
public static function init() {
self::$_var = new OtherClass();
}
}
MyClass:init();
Voilà. Ensuite, vérifie dans la doc s’il n’y a pas mieux, car ce bousin est tout sauf bien (ta méthode est publique, donc quand on recharge la classe :/)
cf. www.php.net…
Pour ce que j’en fait ça n’est vraiment pas grave :
Je créer un Traducteur qui travaille selon un array de strings.
Sauf que ces chaînes sont spécifiques à MyClass, différentes dans MySecondClass et également dans MyOtherClass.