Include ... Oui mais ?

Discussion dans 'Web, design' créé par kEr0, 5 Juin 2003.

Statut de la discussion:
Fermée.
  1. Offline
    kEr0 ex membre
    Bon c'est sans doute une bête question, mais si par exemple le fichier index.php contient ceci :

    Code:
    <? $portal_news_path = './Modules/News/'; ?>
    <? $portal_root_path = './'; ?>
    <? include('center.php'); ?>
    Et le fichier center.php ceci :

    Code:
    <?
       if(isset($page)) 
                       {
                       include(''.$portal_news_path.'index.'.$phpEx.'');
                       }
       else 
           {
            include(''.$portal_root_path.'error_page.'.$phpEx.'');
           }
    ?>
    Est-ce qu'en fesant un include, les variables du fichier index.php seront valables pour le fichier center.php (puisque celui-ci s'y intrègre), ou alors je dois les rappeler pour ce dernier ? :oops:
    kEr0, 5 Juin 2003
    #1
  2. Offline
    niafron ex membre
    c la kestion ke je me suis poser aujourd'hui en discutant avec un ami

    mais je ne serais pas y repondre avant demain :'(
    niafron, 5 Juin 2003
    #2
  3. Offline
    kEr0 ex membre
    Arf, ben des que tu sais, pm ou mail pcque serai po bcp la du w-e :D
    kEr0, 5 Juin 2003
    #3
  4. Offline
    niafron ex membre
    en fait tu pourrais faire le test toi meme :)

    2 fichiers php a.php b.php

    code de a.php

    <?php
    $a = 10;
    ?>

    code de b.php

    <?php
    require_once("a.php");
    echo $a;
    ?>
    niafron, 5 Juin 2003
    #4
  5. Offline
    kEr0 ex membre
    Vi ms bon la se sont des simples ... Et puis prend trop de temps :p J'me demandais si ca fonctionnais avec des if/elseif/else & des switch etc ...
    kEr0, 5 Juin 2003
    #5
  6. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Dans mon site, G 4 pages qui utilisent le même fichier externe, le chemin est stocké dans une variable, qui se trouve dans les fichier path.php:
    Code:
    <?PHP
    $path="http://serveur/fichier"
    ?>
    Dans les quatres autres pages, j'utilise
    Code:
    include('path.php')
    dans la balise <HEAD>
    Comme ça, si le chemin du fichier change, je ne dois modifier qu'un seul fichier, la variable étant utilisable par les 4 autres pages...

    J'espère que G bien compris ta question et, si oui, que j'y ait répondu...
    Jereck, 5 Juin 2003
    #6
  7. Offline
    niafron ex membre
    pour conclure :

    on fait des "define" c mieux ! ( et ca a le meme effet )
    niafron, 5 Juin 2003
    #7
  8. Offline
    SUEd Touriste
    lorsque tu fais un include(), le code se trouvant dans le fichier que tu inclus vient se greffer au code du fichier qui appelle l'inclusion et ce, à l'endroit de l'include.

    donc, si tu as :

    a.php
    Code:
    <?
    $a = 10;
    ?>
    b.php
    Code:
    <?
    include("a.php");
    $b = $a + 5;
    echo $b;
    ?>
    lorsque tu appeleras b.php, la sortie sera :
    Code:
    15
    et on peut considérer que b.php équivaut à :
    Code:
    <?
    $a = 10;
    $b = $a + 5;
    echo $b;
    ?>
    maintenant, que cet exemple soit simple, c'est vrai, mais ça montre uniquement la logique ;) et c'est tout à fait applicable à des exemples plus compliqués (fichiers contenant if, else, while, etc...) :)
    SUEd, 5 Juin 2003
    #8
  9. Offline
    kEr0 ex membre
    Donc si tout est inclus dans l'index.php je peux appelé depuis ce fichier toutes les pages que je veux :) ? Et si ej crée ca ?

    Index.php
    Code:
    <? 
    $news = 'news.php';
    $text = 'blablabla';
    include($news);
    ?>
    News.php
    Code:
    <?
    include('page.php');
    ?>
    Page.php
    Code:
    <?
    print($text);
    ?>
    A la fin de tous ces codes j'aurai comme page sur le navigateur :

    Code:
    blablabla
    ?? Si oui ben alors ca répond a toute ma question :)
    kEr0, 5 Juin 2003
    #9
  10. Offline
    Jereck Procrastinateur
    Equipe GamerZ.be
    Normallement, oui, mais tu peux essayer pour être sûr...
    Jereck, 5 Juin 2003
    #10
  11. Offline
    kEr0 ex membre
    Qd j'me met a un truc a chak fois tu m'embrouille avec otre chose :'( Mais bon ca fait avancer mes connaissances ... V'la un bon prof le ptit NiafroN :roll:
    kEr0, 5 Juin 2003
    #11
  12. Offline
    SpArtA ex membre
    les variables ont des portées
    Quand tu les utilise comme ca ben c'est tout le script
    si tu les utilise dans une fonction c'est limité à la fonction

    $a = 3;

    function test() {
    $a = 5;
    }

    print $a;

    ca t'affichera "3" car le 2eme $a est utilisé ds la fonction et donc limité à celle ci.
    SpArtA, 6 Juin 2003
    #12
  13. Offline
    niafron ex membre
    ben c pcq c COMME CA :D
    fo sauto infliger des contraintes lors de la programmation en PHP ( le language permet est (trop) flexible :) )
    il fo se mettre des gardes fous :twisted:

    donc si on a une var kon utilise un peu partout et dont la valeur ne devra pas changer
    " DEFINE "
    niafron, 6 Juin 2003
    #13
  14. Offline
    SUEd Touriste
    Kero : oui, ton exemple fonctionnera :)

    les include ne servent qu'à clarifier ton code en plusieurs fichiers :)
    et ca te permet aussi d'éviter de re-écrire plusieurs fois la même portion de code...

    Imagine que tu as une fonction "calculTVA()" qui te permet de calculer la tva (sans blague :p).
    Imagine que tu as besoin de cette fonction dans les pages pouet.php, yop.php et idem.php
    Au lieu de retaper la fonction dans ces trois fichiers, tu la mets dans un fichier fonction.php par exemple et tu fais une inclusion de ce fichier au début des trois fichiers. :)
    SUEd, 6 Juin 2003
    #14
Statut de la discussion:
Fermée.