Bonjour à tous (ou bonsoir)

Voilà, j'ai lu des tonnes de truc sur les espaces de noms, mais ça n'imprime pas (ça n'entre pas)

Pourtant, il va me falloirs m'y mettre, car je vais avoir des conflits entre des noms de classes identiques à cause d'un autoload.

Je vous donne un cas concret selon mon arborescence (qui pour le moment est en local).
D:/sites/Run/public/application/controllers/accueil.php (Une classe)
D:/sites/Run/public/application/vues/accueil.php (une classe)
Le autoload a un principe assez simple, c'est une succession de if(file_existe(...)) et require_once().
En 1er ça vérifie dans le répertoire "controllers", et si ça y est pas, le répertoire "vues".

Ca va donc causer un problème lorsque que je vais instancier les Vues (Accueil par exemple).
Pour la vue par exemple, j'ai un code comme ceci (à peu près) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
if (file_exists(DIR_LIBRAIRIE.ESPACE.'/application/vues/'.$classe.'.php') == false) throw new RcException('... erreur ...');
if (self::$instVue == NULL) {
    self::$instVue = $classe::getInstance();
}
Bon, j'ai toujours l'option de renommer les controllers/vues, genre les préfixer, mais comme tout est déjà goupillé, ça m'embête un peu.

Il me semble qu'il faut définir le chemin quelque part, dans la classe je suppose, et au moment de l'instanciation, mais je ne vois pas du tout comment.
Est ce que les namespace c'est vraiment fait pour gérer ce genre de cas d'ailleurs ?


Si vous avez un petit temps à m'accorder, j'en serais ravi