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 :

Utilisation de set_include_path [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 220
    Points : 100
    Points
    100
    Par défaut Utilisation de set_include_path
    Bonjour,

    Je ne comprends pas ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set_include_path('.'
        . PATH_SEPARATOR . '/web/offline-shared' 
        . PATH_SEPARATOR . '/web/offline-sites/test' 
        . PATH_SEPARATOR . get_include_path());
    dans le code de yogui.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
     
    // set_include_path modifie la valeur de la directive de configuration include_path.
     
    set_include_path('.'
        . PATH_SEPARATOR . '/web/offline-shared' 
        . PATH_SEPARATOR . '/web/offline-sites/test' 
        . PATH_SEPARATOR . get_include_path());
     
    //situé dans "/web/offline-sites/test/config.php"
    include 'config.php';
     
    //situé dans "/web/offline-shared/session-start.php"
    include 'session-start.php';
     
    //situé dans "/web/offline-sites/test/header.php"
    include 'header.php';
    ?>
    En suivant les directives ici :
    http://fr.php.net/set_include_path

    J'aurais plutôt écrit : set_include_path ('/web/offline-shared');
    mais cela ne fonctionne pas.

    Merci.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    PATH_SEPARATOR est une constante qui contient le séparateur à placer entre deux données dans une variable de configuration (genre PATH), utiliser PATH_SEPARATOR permet d'éviter les problèmes de compatibilité entre les serveurs type linux ou type windows.

    Et il vaut mieux ne pas oublier le répertoire courant (.) en définissant include_path
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 220
    Points : 100
    Points
    100
    Par défaut
    Très clair pour PATH_SEPARATOR. Merci.

    Je devine que :

    le 1e point, c'est le répertoire courant ?

    les autres points, c'est (peut-être) pour concatener?
    le get_include_path renvoie le chemin contenu dans la configuration include_path ?

    Que contient cet include_path en standard?

  4. #4
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_include_path ('/web/offline-shared');
    /web/offline-shared est un chemin absolu. Ca ne fonctionne que si tu es sous un système à la unix parcequ'il y a le "/" au tout début.
    Sous Windows, il faudrait faire ce genre de chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_include_path ('c:/web/offline-shared');
    le 1e point, c'est le répertoire courant ?

    les autres points, c'est (peut-être) pour concatener?
    le get_include_path renvoie le chemin contenu dans la configuration include_path ?

    Que contient cet include_path en standard?
    Dans l'ordre:
    Oui
    Oui
    Oui
    En standard, l'include_path est vide. Cependant, dans php.ini, il y a ce genre de recommandations (exemples plutôt pour unix):
    ;include_path = ".:/php/includes"
    L'include path dépend fortement du système. C'est à toi de le modifier comme tu le souhaites soit dans php.ini si tu le peux, soit avec set_include_path à l'execution.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 220
    Points : 100
    Points
    100
    Par défaut
    Merci (encore) pour ta précision.

    Oui, c'est sans doute fort recommandé aussi pour éviter
    d'écraser ce qu'il y a éventuellement dedans. Non ?

    Par contre, qu'est-ce que tu veux dire avec ceci :
    ;include_path = ".:/php/includes"

    C'est pour la config php.ini sans doute.

  6. #6
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Oui, c'est ce qu'il y a dans un php.ini en standard. A noter le ";" tout devant qui fait que la directive include_path n'est pas considérée dans ce php.ini. Il faudrait enlever ce ";" devant pour que ce soit pris en compte

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 220
    Points : 100
    Points
    100
    Par défaut
    D'accord.

    Merci pour toutes tes réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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