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 :

Inclure un fichier à l'intérieur d'une fonction lui donne accès à la fonction


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2013
    Messages : 22
    Points : 19
    Points
    19
    Par défaut Inclure un fichier à l'intérieur d'une fonction lui donne accès à la fonction
    Bonjour,

    Après une recherche infructueuse (difficile de trouver les bons termes), je me tourne vers vous. J'ai un code simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $variable_globale = 'variable globale';
    function fonction()
    {
     $variable_dans_la_fonction = 'valeur';
     include('fichier_inclus.php');
    }
    Et dans fichier_inclus.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    echo $variable_dans_la_fonction; // Ceci fonctionne
    echo $variable_globale; // Ceci ne fonctionne pas
    ;
    Vous l'aurez compris, je cherche à faire en sorte que mon fichier fichier.php ne puisse pas avoir accès à l'intérieur de ma fonction, et au contraire qu'il puisse avoir accès à l'extérieur de ma fonction. Avez-vous des idées ?

    Vous me répondrez sûrement que je n'ai qu'à utiliser $GLOBALS dans le fichier inclus, mais c'est un fichier qui pourrait être utilisé ailleurs dans mon application, par d'autres scripts ou d'autres fonctions, voilà pourquoi je ne veux pas qu'il puisse accéder à ce qui se trouve à l'intérieur de fonction() (en réalité ce sera une classe), et voilà pourquoi je souhaiterais un comportement global.

    Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    j'ai du mal à voir l'utilité.
    Ensuite, tu nous mets un exemple de code en programmation procédurale alors que tes explications précisent que ça doit s'appliquer à une classe.
    Comme la programmation procédurale n'a strictement rien à voir avec la programmation objet, je dirai que ton exemple n'est pas du tout pertinent.
    Il faut que ton exemple soit en lien direct avec ta réalité.

    Bref, je te conseillerai de déclarer ta variable global, lis la doc

    Déjà utiliser global est généralement considéré comme une mauvaise architecture alors en POO c'est carrément déconseillé très fortement, voire interdit. La POO offre une tonne de mécanismes pour justement éviter l'utilisation de global

Discussions similaires

  1. Appel d'un fichier js externe à l'intérieur d'une fonction javascript
    Par tanaka76 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/03/2012, 19h05
  2. Réponses: 5
    Dernier message: 25/03/2008, 10h58
  3. [Débutant] Comment passer un fichier en paramètre d'une fonction?
    Par Rires et Chansons dans le forum MATLAB
    Réponses: 4
    Dernier message: 23/10/2007, 21h12
  4. comment connaitre dans quel fichier .py est définie une fonction
    Par moon93 dans le forum Général Python
    Réponses: 4
    Dernier message: 18/06/2007, 22h21
  5. [Fichiers&Repertoires] équivalence d'une fonction C# ?
    Par bakonu dans le forum Général Java
    Réponses: 9
    Dernier message: 09/06/2006, 10h26

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