JeuWeb - Crée ton jeu par navigateur
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)

Pages : 1 2 3


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 :
(06-01-2012, 04:01 PM)php_addict a écrit : peut importe où je suis dans mon arborescence...

j'ai fait un truc bien crade, pour inclure mon fichier: une boucle qui check '' puis '.../' puis '../../' etc et si pas trouvé ou trop de boucle le script arrête le délire

heu et ben
define('ROOOOT', 'D:/sites internet/wamp/www/mon_site');

je comprends vraiment pas où se situe le problème.
pas si simple

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 Smile


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).
Essaye Rails.root.

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().'/');
non ?

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é. Smile

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.