Connaitre à tout moment le chemin vers la racine ? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Connaitre à tout moment le chemin vers la racine ? (/showthread.php?tid=5911) |
RE: Connaitre à tout moment le chemin vers la racine ? - Holy - 06-01-2012 Y a visiblement un soucis au niveau de la conception de ton arborescence si avec tout ce qui a été donné tu n'arrives pas à régler ton problème. Normalement, avec un front controller, tu n'as pas trop de soucis de cet ordre, puisque tout est inclus depuis la racine de ton dossier. Sinon, donne plus de détails sur ton arborescence, ça permettra peut-être de comprendre d'où vient le problème. RE: Connaitre à tout moment le chemin vers la racine ? - Ter Rowan - 06-01-2012 (06-01-2012, 06:20 PM)niahoo a écrit :pas si simple(06-01-2012, 04:01 PM)php_addict a écrit : peut importe où je suis dans mon arborescence... c'est simple si comme le dit Holy on est sur un front unique. par contre, si il faut mettre le define dans 50 scripts différents, ça devient vite le bordel alors on peut imaginer d'externaliser le define dans un fichier de config sauf que pareil, si pour inclure le fichier, il faut dans les 50 scripts faire des include/require_once qui en plus dépendent du répertoire on est mal ==> donc super simple si on a le frontal, plus compliqué sinon C'est en merdant sur ce sujet d'identification de la racine du site que j'ai compris l'intérêt du frontal Si pour certains c'est naturel d'avoir un point d'entrée, pour d'autres - dont moi il y a un an - c'était pas si évident RE: Connaitre à tout moment le chemin vers la racine ? - srm - 06-01-2012 Tu dois avoir un fichier qui est toujours inclus, du type constant ou je ne sais pas quoi et dedans tu mets un truc tu genre : define('ROOT', realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . "..")); J'ai mis .. à la fin, car moi mon fichier c'est public/index.php donc la racine de mon projet est dans le dossier parent RE: Connaitre à tout moment le chemin vers la racine ? - php_addict - 06-01-2012 (06-01-2012, 06:42 PM)Sephi-Chan a écrit : Mais cette constance sera foireuse dans son environnement de production (probablement un linux). oui voila... je n'ai pas de contrôleur frontal, mais plusieurs contrôleur, je sais c'est mal, la prochaine fois je ferais mieux et de plus mon interface d'admin est dans un sous repertoire merci pour vos conseils RE: Connaitre à tout moment le chemin vers la racine ? - niahoo - 07-01-2012 je suppose que chaque environnement a une config différente : serveur de DB, username, etc. Donc tu peux mettre cette donnée dans ta config. RE: Connaitre à tout moment le chemin vers la racine ? - kasou - 07-01-2012 Salut, Définir dans ton index.php (qui est à la racine) Code : define("_SITEBASE", getcwd().'/'); Après si t'a pas une simple entré sur ton jeu, faut inclure.... kasou RE: Connaitre à tout moment le chemin vers la racine ? - Thêta Tau Tau - 07-01-2012 Tu peux passer en frontal sans avoir à tout refaire. Du genre une redirection sur un index.php à la racine de ton site, index.php qui ferait un include du fichier que tu appellerais avec ton architecture actuelle. Mais forcément ça reste du bricolage, pour avoir une bonne architecture faudrait que tu reprennes tout du début. RE: Connaitre à tout moment le chemin vers la racine ? - php_addict - 07-01-2012 je ne suis pas à l'aise avec la notion du contrôleur frontal malheureusement connaissez vous travian et guerre tribale, 2 géants du MMORPG par navigateur...le premier semble ne pas utiliser de contrôleur frontal et le deuxième semble l'utiliser, trouvez vous cela choquant? RE: Connaitre à tout moment le chemin vers la racine ? - Angelblade - 07-01-2012 Personnellement je défini une variable $root_path au début de chaque page du site. RE: Connaitre à tout moment le chemin vers la racine ? - Sephi-Chan - 07-01-2012 En l'absence d'un framework décent (qui réduirait ce problème à néant), je partirais sur une solution simple : avoir un fichier environment.php dont le contenu diffère en développement et en production. Ainsi, la version déployée sur le serveur, définit la constante ROOT_PATH avec la valeur (en dur) qui convient. Et la version de développement fait de même.Hop, trivial et c'est plié. Par ailleurs, tu ne peux pas vraiment savoir qui utilise ou non un contrôleur frontal (ou assimilé : routeur, dispatcher, etc.) à cause des réécritures d'URL. |