mYRoot est un ensemble de fonctions en PHP destinées
a retrouver la racine d'un site pour des traitements
de fichier en local (par exemple ; des inclusions).
L'usage le plus courant de mYRoot est de permettre de
faire des inclusions récursives sans se soucier du niveau
d'arborescence du fichier PHP qui déclenche l'inclusion.
Par Olivier D. alias ze kat, dzolivier-kat@yahoo.fr
pour le site de Y! Messenger Plus, www.yahooplus.fr.st
Distribué sous licence GNU-GPL.
INSTALLATION & CONFIGURATION:
Vous pouvez copier "myroot.lib.php" dans n'importe
quel dossier de votre site, même si son accés n'est
pas protégé.
Si votre site correspond à l'un des cas ci-dessous,
vous devrez configurer la variable $mYRoot['Root']['URL']
pour préciser l'URL (absolue ET réelle) de la racine de
votre site.
- Si votre site est hébergé dans un sous-dossier (comme
pour des pages perso).
Ex: http://pagesperso.laposte.net/yahooplus/
- Si votre site a un nom de domaine, mais qu'il utilise
une page de redirection (avec une 'frame') vers un
sous-dossier (ou un autre domaine).
Et, il faut absolument laisser la variable $mYRoot['Root']['URL']
vide si votre site posséde plusieurs noms de domaine
aliasés (càd une redirection CNAME). Dans le cas contraire,
mYRoot provoquera une redirection.
Si $mYRoot['Root']['URL'] est configuré, alors 'myroot.lib.php'
doit être dans l'arborescence qui y correspond.
USAGE:
Dans les fichiers où vous avez besoin de mYRoot, faites une
inclusion (avec 'require_once') comme ci-dessous :
Conseil: faites systématiquement une inclusion de mYRoot
dans tous vos fichiers PHP, dés le début de votre
code source, avant toute autres inclusions (avec
les fonctions 'include' ou 'require').
Quand vous avez besoin d'accéder à un fichier en définissant
son chemin depuis la racine de votre site, utilisez la fonction
mYRoot() qui renvoie les - retours parent - (càd des '../')
nécessaires pour - revenir - à la racine.
La fonction mYRootURL() renvoie l'URL absolue, détectée et/ou
configurée, de la racine de votre site, qui est utilisée par mYRoot.
EXEMPLE:
Dans l'exemple ci-dessous, la page se trouve dans un sous-dossier à
la racine du site.
Dans l'exemple ci-dessus, le code source de 'config_inc.php' fait
lui aussi une inclusion en utilisant la fonction mYRoot(). Grace
à mYRoot, on peut faire une inclusion de 'config_inc.php' dans des
pages en PHP qui n'ont pas le même niveau d'arborescence (càd dans
des sous-dossiers différents) comme ci-dessous.
Pour la - petite explication - sur cet exemple ; 'config_inc.php' est
un fichier de configuration d'un site en plusieurs langues. Et,
'config_inc.php' a besoin de faire des inclusions pour charger des
réglages spécifiques à la langue choisie par l'internaute.
CONSEILS:
Naturellement, il vous faudra toujours inclure mYRoot en indiquant
explicement son chemin d'accés. Mais si vous utilisez systématiquement
mYRoot dans vos pages pour faire des inclusions (et autres accés aux
fichiers), vous pourrez faire des copier-coller de vos - sources -
sans avoir besoin d'apporter des corrections selon l'arborescence
de la page.
Vous pouvez étendre ce concept - d'accés aux fichiers relativement
à la racine - au codage en HTML (et CSS) en utilisant la balise