IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Définir une constante globale


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    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.

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Il suffit d'écrire ceci dans un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class testClass {
        const MA_CONSTANTE = 'Sa valeur';
    }
    pour ton souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    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

  4. #4
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    require 'config/global.inc.php';
    // exemple dans le fichier /classes/document.class.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    require ROOT_PATH . 'classes/documentType.class.php';
    class document{
        // ...
    }

  5. #5
    Membre éprouvé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Par défaut
    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

  6. #6
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

Discussions similaires

  1. Définir une constante globale à 3 dimensions
    Par steph68b dans le forum Android
    Réponses: 4
    Dernier message: 04/10/2012, 11h55
  2. définir une constante en Perl
    Par djidane39 dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2007, 14h22
  3. [SQL]Utiliser une constante globale comme critère d'une requète ?
    Par marot_r dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/04/2007, 14h57
  4. Réponses: 7
    Dernier message: 06/05/2006, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo