파일 output을 return 하기

by 조쉬 posted Mar 26, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

보통, 어떤 파일의 결과자체를 변수처럼 써야 할 경우가 있다. 보통 그럴땐 ob_start()로 해당 파일의 output을 변수에 저장해서 쓰면 된다. (참조 : http://b1ix.net/65 )

그런데 그런 방법 말고 해당 파일의 결과 부분 자체를 리턴 하는 방법도 있다.

//a.php 
return "world!";
//b.php 
echo "Hello ".(include "a.php");

b.php 파일을 실행 시켜 보면 Hello world! 가 출력 되는걸 볼 수 있다.

파일 자체를 마치 함수처럼 쓰는... 기분인데,
필자는 c/c++을 기초로 배워서 인지.. 가끔씩 이런 php의 면모를 볼때면 놀랍기만 하다...

//----------추가사항
위의 b.php 페이지에 return과 함께, echo나 print관련 함수가 있다면,
return으로 반환되는 값은 include가 있는 위치에서 뿌려준다.
하지만, echo나 print관련 함수로 뿌려주는 부분은, b.php의 echo가 실행되기 전 부분에서 출력이 되어 버린다.
이점 알아 두기 바란다.