Vous pouvez rediriger les appels vers certaines propriétés/fonctions en utilisant __get, __call."__classe magic method" (médiation des références aux noms de classes par un code personnalisé)
Existe-t-il un moyen de le faire pour les cours?
Je voudrais convertir toutes les mentions de some_class_name dans le code à, MY_VERSION_some_class_name (pas seulement pour une classe, c'est un modèle).
Cela serait facile si les méthodes/propriétés étaient la cible de cette politique de renommage. Pouvez-vous penser à un moyen de le faire pour les classes en PHP?
Editer: J'ai besoin de cela pour faire référence à différentes variantes de classes dans différentes situations. J'ai besoin qu'un nom de classe soit résolu en différentes variantes de cette classe, en fonction d'une condition connue à l'exécution, et persistant tout au long de la session.
Merci
p.s. Si vous êtes curieux pourquoi je veux faire cela, regardez Maintaining variants of an application
+1 pour recommander une usine plutôt qu'une autre méthode sinistre. Les usines s'avèrent souvent utiles de toute façon. –
C'est une bonne idée mais ça va me forcer à refactoriser un gros code. Et aussi semblera laid - pensez à chaque mention de n'importe quel nom de classe ressemblant à $ factory-> classVariant ('classname') au lieu de simplement classname – shealtiel
@gidireich Généralement vous feriez '$ factory-> getMyModule()'. Qu'est-ce qui se passe quand vous créez '$ factory', vous créez la classe d'usine qui a la combinaison de classes que vous voulez. –