2017-02-09 1 views
-1

쉬운 질문이지만 PHP를 처음 사용하기 때문에 알아낼 수 없습니다. 올바르게 작동하는 .ini 파일을 구문 분석하려고하지만 어떻게 든 값에 액세스 할 수 없습니다.PHP : 가져온 ini 값에 액세스 할 수 없습니다.

내 사이트는 다음과 같이 구성되어있다 :

project/ 
    index.php 
    inc/ 
     init.php 
     classes/ 
      frontend.php 
    msg/ 
     messages.ini 

메시지 파일은 다음과 같이 index.php$messages = parse_ini_file("msg/messages.ini");init.php에 구문 분석 한 후 포함되어

<?php 
require_once('inc/init.php'); 

//printing the array here works! 

$html = new frontend(); 

나는 index.php에서 메시지 배열을 인쇄하는 경우 모든 것이 잘 작동합니다.

그러나 index.phpnew frontend();을 빌드하면 $messages 배열을 사용할 수 없습니다. frontend 자체는 init.php에로드되며 ini 파일없이 정상적으로 작동합니다.

따라서 가져 오기 또는 가변 범위 문제가 있다고 가정하지만 해결할 수는 없습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?

+0

은'frontend()'의 코드를 보여줍니다. –

+0

@MArcinOrlowski 올바르게 작동하는 프론트 엔드를 만들고 있습니다. 일부 (현재 하드 코딩 된) 메시지를 외부에서 조달하려고합니다. – user8793

+0

범위 범위 범위 http://php.net/manual/en/language.variables.scope.php – RiggsFolly

답변

1

$html = new frontend($messages); 

PHP variable scope 어쨌든 오히려 간단하다 : 변수는 전역 또는 함수/메소드에 대한 지역 중 하나입니다.

+0

나는 인자로 배열을 전달하는 것에 대해 생각했지만 index.php에 포함되어 있다면 프론트 엔드와 적어도 같은 범위를 가져야하지 않을까요? – user8793

+0

범위가 너무 복잡하지 않습니다. 블록 단위 또는 파일 단위 범위가 없습니다. –

+0

고마워요, 지금 일하게 됐습니다. 또한 도움이 : http://stackoverflow.com/questions/16959576/reference-what-is-variable-scope-which-variables-are-accessible-from-where-and – user8793

-1

$messages을 전체적으로 frontend() 안에 선언 해보십시오. 같은 것을 할

$html = new frontend(); 

... : : 대신

+1

'global'을 사용하지 마십시오. 이것은 잘못된 코딩 스타일입니다. –

+0

시도했는데 작동하지 않았습니다. – user8793

+0

왜 이것이 잘못된 코딩 스타일입니까? – Condorcho

관련 문제