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:
"PHP Fatal error: Cannot redeclare class Project ..."
quand je fais un include() dans une application vers une autre.
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 ...