Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2010, 14h47   #1
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 467
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 467
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
Par défaut Définir une constante globale

Bonjour,

Je voudrai définir une constante globale (Accessible pour tout les pages de mon site) sans utiliser les sessions.

Sur la FAQ j'ai trouvais une solution (mais qui oblige de faire une config sur le php.ini) ce n’est pas très intéressant pour moi.

Mon but c'est d'utiliser cette constante pour lui affecter le chemin de met fichier de configuration (entre autre config_bd,...) c'est pour ne pas changer de chemin à chaque fois selon la page sûr la quel je suis.

Merci d'avance.
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 14h53   #2
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 134
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 134
Points : 2 877
Points : 2 877
Il suffit d'écrire ceci dans un fichier
Code :
define('MA_CONSTANTE','Sa valeur');
et d'inclure ce fichier partout où tu as besoin de cette constante.
tu peux aussi utiliser des constantes de classe :
Code :
1
2
3
class testClass {
    const MA_CONSTANTE = 'Sa valeur';
}
pour ton souci :
Code :
1
2
3
 
define('CONF_PATH', dirname(__FILE__) . 'config.inc.php');
// si le fichier contenant ce code se situe au meme endroit que config.inc.php
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 16h30   #3
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 467
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 467
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
Comment je les dis le chemin de ces fichier doive être dynamique sa dépend où je vais les inclure...

Donc ça serai bien si j'ai je chemin de la racine de mon projet (données par une fonction) sa existe ?

Merci (je crois que la constante de classe peut faire l'affaire) pour les autres ce n’est pas bon
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 15h11   #4
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 134
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 134
Points : 2 877
Points : 2 877
Citation:
Donc ça serai bien si j'ai je chemin de la racine de mon projet (données par une fonction) sa existe ?
Oui, c'est à peu près ce que j'ai fait au-dessus,

// dans le fichier /config/global.inc.php par exemple :
Code :
define('ROOT_PATH', dirname(__FILE__) . '../');

// dans ton fichier principal tu inclues en premier le fichier qui contient la déclaration de la constante (/index.php ?), tous les autres fichiers inclus pourront accéder à la variable.
Code :
1
2
 
require 'config/global.inc.php';
// exemple dans le fichier /classes/document.class.php
Code :
1
2
3
4
5
 
require ROOT_PATH . 'classes/documentType.class.php';
class document{
    // ...
}
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2010, 09h34   #5
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 467
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 467
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
Bonjour,

Merci pour tés réponse (j'ai très bien comprit ce que tu à dit)

Mais je crois que mon vers problème c'est que je n'est pas de BootLoader dans mon application... (Un même fichier je l'inclue dans différant autre fichier ce qui fait que le chemin relatif change toujours selon où il est inclue) il me faut un moyen simple pour factoriser mon code et pas avoir c'est problème.

Si une solution simple existe (je voudrai bien avoir les façons de comment vous mettre en place un BootLoader)

moi j'ai utiliser cette solution ici, je voudrai bien avoir votre avis.

Merci d'avance
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 17h31   #6
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 134
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 134
Points : 2 877
Points : 2 877
Je ne trouve pas que ce soit une solution terrible, elle inclue un même fichier pour l'ensemble des sites du serveur. La seule utilité, si c'en est une, et que cette technique évite de taper cette unique ligne :
Code :
1
2
 
require 'global.inc.php';
Après si tu as vraiment besoin de ce code quelque-soit les sites hébergés pourquoi pas.
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h07.


 
 
 
 
Partenaires

Hébergement Web