2017-05-20 5 views
0

내 포함 변수가 다중 포함 이후에 설정되지 않은 이유를 알 수 없습니다.변수를 멀티로 공유합니다. include (php)

는 header.php에서 난

public function defaultShow(){ 

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

} 

accueil.php $에서 A가 설정되는 변수 $을 갖는다. 그건

을 작동하지만 내 코드

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가로드되지만 $ a는이 파일에 비어 있습니다. header.php에서 설정

모든 변수는

왜 accueil.php

에서 비어? 응답

기욤

+0

글로벌 $ a를; $ a = '최대'; –

답변

0

위한

덕분 여기서 피하기 함정이다. 함수 내에서 변수 $에 액세스해야하는 경우 "global $ a;"라고 말해야합니다. 그 기능의 시작은 입니다. 동일한 파일에서 각 기능 에 대해이 작업을 반복해야합니다.

예 :

오류 만 표시됩니다.

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

function foo() { 
    echo $a; 
} 

function bar() { 
    echo $a; 
} 

foo(); 
bar(); 

할 수있는 올바른 방법이은 다음과 같습니다

include('front.php'); 

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

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

foo(); 
bar(); 
+0

감사합니다. 지금은 괜찮습니다. – Guisbou

+0

@Guisbou it 's workzz ?? 안 그래? ? –

+0

예. 그것은 작동합니다. 고마워요 – Guisbou