Include ... Oui mais ?

Statut
N'est pas ouverte pour d'autres réponses.
K

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:
 
N

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 :'(
 
1er
OP
K

kEr0

ex membre
Arf, ben des que tu sais, pm ou mail pcque serai po bcp la du w-e :D
 
N

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;
?>
 
1er
OP
K

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 ...
 

Jereck

Α & Ω
Staff
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...
 
N

niafron

ex membre
pour conclure :

on fait des "define" c mieux ! ( et ca a le meme effet )
 

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...) :)
 
1er
OP
K

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 :)
 

Jereck

Α & Ω
Staff
Normallement, oui, mais tu peux essayer pour être sûr...
 
1er
OP
K

kEr0

ex membre
NiafroN a dit:
pour conclure :

on fait des "define" c mieux ! ( et ca a le meme effet )
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:
 
S

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.
 
N

niafron

ex membre
kEr0 a dit:
NiafroN a dit:
pour conclure :

on fait des "define" c mieux ! ( et ca a le meme effet )
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:
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 "
 

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. :)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut