2012-06-29 3 views
2

다른 파일에있는 변수의 값을 가져와야합니다. 나는 include 나 require 함수를 사용할 수 있지만 두 경우 모두 포함 된 파일에있는 전체 출력을 출력한다는 것을 알고있다. 그렇다면 변수의 값만을 얻고 다른 파일의 출력을 얻는 방법은 없을까요?다른 파일에서 변수 값 가져 오기

답변

3
ob_start(); 
include($filename); 
ob_end_clean(); 

이제 변수를 범위에서 사용할 수 있습니다. 물론

당신이 출력에 관심 있다면, 당신은 그것을 유지 할 수 있습니다 :

ob_start(); 
include($filename); 
$output = ob_get_contents(); 
ob_end_clean(); 

을 이렇게하면 전체 응용 프로그램의 설계자 경우이 작업을 수행해서는 안주의 할 함께. 대신 하나의 파일에 모든 변수를 설정하고 별도의 변수를 사용하여 출력을 생성하십시오. 컨트롤러가 변수를 설정하고 뷰/템플릿이 출력을 수행하는 MVC 아키텍처를 살펴 보는 것이 이상적입니다.

+0

나는 전반적으로 응용 프로그램을 더 잘 구조화하기 위해 제안을 선호합니다 ... – deceze

+0

좋은 지적입니다. 나는 이것이 파일이나 파일을 변경할 수없는 라이브러리 또는 일부의 일부라고 가정합니다. 이것이 잘못된 아키텍처라는 것은 분명해야하지만 지적할만한 가치가 있습니다. –

+0

하지만 여전히 그 파일에있는 PHP 부분이 실행 중입니다 ... – Srivathsan

0

다음은 그것을 할 수 있습니다 :

ob_start(); 
include(...); 
ob_end_clean(); 

위한 ob_start()를 아무것도가 브라우저/CLI/등로 전송되지 않습니다 출력 버퍼링을 시작한다. 파일을 포함 시키십시오. 파일 내의 변수를 사용할 수 있으며 모든 에코 등은 표시되지 않습니다.

ob_end_clean()은 지우기와 마찬가지로 버퍼를 덤프하고 메모리를 확보하는 동안 정보를 표시하지 않습니다.

0

그 값을 가지고 세 번째 파일에 넣습니다. include 파일 1과 2에 해당 파일이 있습니다.

즉, 별도로 액세스해야하는 항목에 액세스 할 수 있도록 응용 프로그램의 구조를 개선하십시오.

관련 문제