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 :

[Système] Comment est lu un fichier PHP


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut [Système] Comment est lu un fichier PHP
    Bonjour,
    J'ai encore un question débile: comment est lu un fichier PHP?
    Par exemple dans le cas ou le fichier commence par des fonctions, c'est la première qui est executée et ainsi de suite? getData puis WriteIndex... mais cela me parrait vraiement bizard

    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
    19
    20
    21
    22
    23
    24
    25
    ----------------Top of File---------------------------
    ?php
     
    include("includes/utils.inc");
    include("includes/database.inc");
     
    Function GetTitle($ditta) {
       global $db;
       $sql = "select descr from ditte where ditta='$ditta'";
       if ($result = QueryDB($sql, $db)) {
         if ($myrow = FetchRowDB($result)) {
           return($myrow[0]);
         }
       }
       return("");
    }
     
     
    Function WriteIndex($ditta, $ruser) {
       global $tipoAccessoSys,$gestecofin, $stato;
     
       session_unregister("ditta");
       session_unregister("ruser");
       session_unregister("session");
        .......

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    ben oui comment veux tu que php fasse ?
    Quand tu lis un roman ou une bd, tu commence par la fin ? ou par le milieu ???

  3. #3
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    Personnellement je commence par le début mais je ne sais pas comment fait un browser, je me demandais si il n'y avait pas un point d'entrée spécifique dans un code PHP car ça ne m'est pas naturel le fait de suivre un code dans le sens d'écriture du fichier, encore plus s'il s'agit de fonctions.

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben dans tout les langages c'est comme ça IMHO...

  5. #5
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Sydaze
    1: c'est pas le browser qui lit le fichier
    2: les fonctions ne sont pas executées si elles ne sont pas appelées.

  6. #6
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    IMHO?
    Dans tout les langages non, en C# par exemple le point d'entrée d'une appli windows sera la fonction statique main() d'une classe form pas le debut d'un fichier.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    Bien donc si les fonctions ne sont pas exécutées si elles ne sont pas appelées dans l'exemple que j'ai donné le code n'est pas exécuté du début... le problème c'est que ma page PHP n'est constituée qu'uniquement de fonctions, c'est pour cela que je ne comprend pas comment j'arrive à la visualiser dans un browser.

  8. #8
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Il y a forcément un endroit ou tu appelles des fonctions ou bien ou tu écris du php (cherche aussi dans tes includes).

    Considère que tout ce qui est dans ton script c'est ton main et tes fonctions sont appelées dans le main.

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    IMHO : In My Humble Opinion traduit par AMHA : A Mon Humble Avis

    En C# s'est pareil, le fichier est lu en commencant par le début. Il y a une différence entre lire un fichier et executer les instructions dedans...

  10. #10
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    Bizard, le fichier PHP que j'appel du browser est bien constitué comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    include("includes/utils.inc");
    include("includes/database.inc");
     
    Fonction1 {
    }
    Fonction2 {
    }
    Fonction3 {
    }
    comme tu peu le voir il y a bien 2 fichier inclus mais ils contiennent les methodes sur lesquelles se basent ces fonctions

  11. #11
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    Autant pour moi dans ce cas Mr.N je voulais dire "executer les instructions", c'est vrai que je me suis mal exprimé

  12. #12
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    J'ai du mal à te suivre pour "dependant l'un de l'autre", il faut voir les fichier comme des ressources.
    Le problème est bien là, le code n'est pas de moi et c'est le premier jour que je me lance dans du PHP et également de le monde des applications web, c'est pour ça que je suis plutôt désorienté pour le moment. Ca n'est pas grave j'éclaircirai ça avec l'auteur en question lundi.

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Désolé j'ai effacé mon message qui n'était pas pertinent...

    Sinon de manière générale je découpe mes scripts en 3 parties :
    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
    19
     
    <?php
     
    //Initilisations
    //--------------
    inclusions des scripts utilitaires, 
    connexion à la bd, 
    initialisation de variables, 
    déclaration de fonctions, ...
     
    //Traitement de la requete
    //-----------------------------
    Traitement des formulaires si besoin est
     
     
    //affichage
    //------------
    rendu html, xml, pdf, png ou autre
    ?>
    Quand tu déclares une fonction elle ne sera executée que lors de l'appel. Si tu fais appel à une fonction qui n'est pas déclarée, php te jette... Est-ce que c'est plus clair ?

  14. #14
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    tu veux dire quand tu "definie" une fonction?

  15. #15
    FFF
    FFF est déconnecté
    Membre actif Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Points : 282
    Points
    282
    Par défaut
    J'exprimerais la chose ainsi :
    En fait quand tu programmes tu ne fais que décrire le comportement de ton ordinateur qui est somme toute très basique (voire binaire sans jeux de mots).
    Quand tu crées un programme tu as toujours un point d'entrée (main comme dit plus haut) et tout par de là, les méthodes ou fonction sont là pour te dire comment l'ordi se comporte, lorsque tu compiles, le compilateur commence toujours par le point d'entrée, il lit le reste ensuite.
    Et ce n'est pas ton browser qui lit php, c'est php lui même , et c'est le serveur web qui te donne le résultat.

  16. #16
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par Sydaze
    tu veux dire quand tu "definie" une fonction?
    non

    quand tu définis une fonction, il ne se passe rien. Définir une fonction, c'est ce qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function afficher($texte) 
    {
    echo $texte;
    }
    La définition de ta fonction peut se faire n'importe ou dans ton script, aucune importance. Bien sûr, tu peux comme Mr.N systématiquement les déclarer en début de script.
    Par contre, il se passe quelque chose quand tu l'appelles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    afficher ('permier appel')
    afficher ('second appel')
    Et cela est séquenciel : c'est comme un livre que tu lis par le début...

  17. #17
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Citation Envoyé par FFF
    lorsque tu compiles, le compilateur commence toujours par le point d'entrée, il lit le reste ensuite.
    Tu confondrais pas execution et compilation ?
    Quand tu compiles, c est fichier par fichier, il va pas chercher un point d'entrée pour compiler, tu peux tres bien compiler des fichiers alors que t'as pas encore créé ton point d'entrée.

    Pour Sydaze,
    si tu fais du c# fais du php objet, tu seras plus a l'aise, tu peux faire des classes aussi.
    Par contre ton point d'entrée, ce sera le fichier php que tu appelle en premier dans le navigateur, souvent index.php.
    Prend ce fichier comme ton point d'entrée, que tu fasses de l'objet ou pas.

    Définir une fonction, francis_m te l'as tres bien montré, tu appelles peut etre ca implémenter une fonction toi.

    Par contre php est un langage de script, donc on precise pas les retours de fonctions.
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  18. #18
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 106
    Points : 59
    Points
    59
    Par défaut
    Merci pour votre aide.
    En fait je pensais que le fichier était constitué comme ca:
    --------------------------
    fonction1 {
    }
    fonction2 {
    }
    fonction3 {
    }
    --------------------------
    mais en fait il est comme ça:
    --------------------------
    fonction1 {
    }
    fonction2 {
    }
    fonction3 {
    }
    CODE
    --------------------------

    Je ne sais pas pour quelle raison je n'avais pas vu que CODE était extérieur à la fonction3, d'où mon incompréhension au niveau de point d'entrée du code. Maintenant tout est clair, c'est CODE qui est exécuté à l'appel du fichier et qui appel la bonne fonction à l'aide d'un switch.

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

Discussions similaires

  1. [Toutes versions] Identifier comment est ouvert un fichier : double click ou via raccourci
    Par Pilou52 dans le forum Excel
    Réponses: 2
    Dernier message: 30/04/2014, 18h51
  2. comment est fait ce fichier ?
    Par taurelle dans le forum Conception
    Réponses: 1
    Dernier message: 05/12/2009, 11h25
  3. Réponses: 2
    Dernier message: 16/05/2007, 19h26
  4. Comment savoir si un fichier/répertoire est en lecture seule
    Par Guigui_ dans le forum Général Python
    Réponses: 3
    Dernier message: 29/12/2004, 16h05
  5. Unix - Comment savoir si un fichier est ouvert
    Par freddyboy dans le forum C
    Réponses: 7
    Dernier message: 06/10/2004, 15h53

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