Bonjour,
j'aimerai utiliser une propriété static (par exemple ici $domainClass) pour avoir une valeur variable correspondant au nom d'une classe dans laquelle je veux appeler des méthodes statiques :
Mais (static::$domainClass)::truc(); ne marche pas en l'état.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 abstract class A { public static $domainClass; public static methode(){ (static::$domainClass)::truc(); } } class B extends A { public static $domainClass = 'domain1'; }
Pourtant une écriture comme (new C)->truc(); fonctionne.
Et cette façon là marche :Il doit y avoir un moyen d'arriver au même résultat avec une syntaxe qui fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public static methode(){ $domainClass = static::$domainClass; $domainClass::truc(); }
Merci pour vos éclairages.
Partager