2017-05-20 1 views
0

Je ne comprends pas pourquoi ma variable n'est pas définie après multi include.part variable dans multi include (php)

dans header.php, j'ai une variable $ un

public function defaultShow(){ 

     include(dirname(__FILE__)."/../view/app/header.php"); 
     include(dirname(__FILE__)."/../view/app/accueil.php"); 
     include(dirname(__FILE__)."/../view/app/footer.php"); 

} 

dans accueil.php un $ est fixé. il est fonctionne

mais si mon code est

public function defaultShow(){ 

     self::includeView("app/header");   
     self::includeView("app/accueil"); 
     self::includeView("app/footer"); 

} 

public static function includeView($view){  
     include dirname(__FILE__)."/../view/".$view.".php"; 
} 

accueil.php est chargé mais $ un vide dans ce fichier.

toutes les variables définies dans header.php est vide accueil.php

pourquoi?

merci pour les réponses

Guillaume

+0

un global $; $ a = 'max'; –

Répondre

0

Voici un piège à éviter. Au cas où vous auriez besoin d'accéder à votre variable $ a dans une fonction, vous devez dire "global $ a;" au début de cette fonction. Vous devez répéter ceci pour chaque fonction dans le même fichier.

Exemple:

ne montrera que des erreurs.

include('front.php'); 
global $a; 

function foo() { 
    echo $a; 
} 

function bar() { 
    echo $a; 
} 

foo(); 
bar(); 

La bonne façon de le faire serait:

include('front.php'); 

function foo() { 
    global $a; 
    echo $a; 
} 

function bar() { 
    global $a; 
    echo $a; 
} 

foo(); 
bar(); 
+0

merci!, C'est bon maintenant – Guisbou

+0

@Guisbou c'est workzz ?? ou pas ? ? –

+0

oui. ça marche. merci – Guisbou