Bonjour,
Je présente mon problème :
j'ai deux applications en PHP qui définissent chacune leurs propres classes. Certaines de ces classes ont le même nom.
Par exemple :
- application1 a une classe Projet
- application2 a une classe Projet
donc deux classes différentes pour un seul nom.
Mon problème : je dois utiliser des classes d'une application dans la 2e. Mais comme les noms sont le même cela cause des conflits
Erreur:quand je fais un include() dans une application vers une autre."PHP Fatal error: Cannot redeclare class Project ..."
En sachant que je ne peux pas modifier le nom des classes.
Le meilleur moyen de gérer ce problème serait d'utiliser des namespaces je pense. Malheureusement, j'ai comme contrainte d'utiliser PHP 5.2 et les namespaces n'apparaissent qu'à partir de PHP 5.3 il me semble.
La seule autre solution que je vois c'est :
- utiliser la classe Projet de l'application 1
- dé-définir la classe Projet (un genre de "unset Projet)
- faire un include sur la 2e classe Projet
- utiliser la 2e classe
Ça serait très moche, mais sur le principe ça pourrait fonctionner.
D'où ma question : est que quelqu'un sait comme je pourrais faire pour "dé-définir" une classe en PHP ?
Ou encore mieux : est que quelqu'un sait comment régler ce problème d'une meilleur façon ?
Pas facile comme problème ...
Partager