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).
Le autoload a un principe assez simple, c'est une succession de if(file_existe(...)) et require_once().D:/sites/Run/public/application/controllers/accueil.php (Une classe)
D:/sites/Run/public/application/vues/accueil.php (une classe)
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) :
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.
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(); }
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
Partager