S'il vous plaît, quelqu'un expérimenté en PHP pourrait aider avec ce qui suit. Quelque part dans mon code, j'ai un appel à une méthode statique publique dans une classe non instancié:Appel de méthode statique dynamique en PHP?
$result = myClassName::myFunctionName();
Cependant, je voudrais avoir beaucoup de ces classes et de déterminer le nom de la classe correcte à la volée selon la la langue de l'utilisateur. En d'autres termes, j'ai:
$language = 'EN';
... et je dois faire quelque chose comme:
$result = myClassName_EN::myFunctionName();
Je sais que je pourrais passer la langue en tant que paramètre à la fonction et faire face à l'intérieur juste une classe commune mais pour diverses raisons, je préférerais une solution différente.
Cela a-t-il un sens, quelqu'un? Merci.
Pour répondre à vos 3 dernières lignes, non, cela n'a pas beaucoup de sens, sauf si vous avez une raison particulière pour laquelle vous ne pouvez pas implémenter le "pass language as parameter" façon –
Oui, j'ai une raison spécifique ... Cela concerne la gestion des traductions d'une manière plus saine pour diverses choses qui se produisent dans ces classes. C'est compliqué :) – Tom