본문 바로가기
APM

include와 include_once, 그리고 require의 비교

by 누피짱 2008. 5. 7.

includerequire.. 그리고 include_once..

이 세넘(이외에도 많치만.. 흠..)의 차이가 너무 산만-_-하다..

 

어떤사람은 속도상의 문제로 차이를 크게 두는데.. 흠..
요새같은 인터넷환경에서.. 뭐가 문제래?

하지만.. 대용량의 파일을 리딩하는 경우에서는 문제가 될 수 있다.

물론.. 그렇게 페이지를 기획한것이 문제겠지만..


includerequire는 모든면에서 동일하다. 의미? 사용? 전부다 동일하다..

암튼 내 경우는 왠만하믄 require를 쓰고.. 루프의 경우만 include를 쓴다.

include는 디버깅이 좀 불분명해서ㅋㅋ

( include는 Error발생시 Warning을 반환하지만.. requireFatal Error를 반환한다. )


include_onceinclude와 모든면에서 동일하지만

문서상에 이미 include되어있다면 다시 include시키지 않는다는 차이점이 있다.


암튼 문서-_-포함이란 (한글로 말하믄 열라 이상하다는.. 쿨럭.)

방식상 파서가 읽어서 대입시키기는 하는데 그것이 특별하게 포함을 시킨걸 읽던..

아님 문서하나에 있는 내용 읽던.. 큰 속도차이는 없다고 생각한다.

즉, 속도차이가 난다면 이는 알고리즘 문제라고 본다.
파서는 include target document를 그대로 읽어다 붙이는 것일 뿐이기에..

 

 

 

include()

    :일반적인 document Embeded 방식이다.

    하지만 호출당할때마다 리딩을 주저하지 않는다는 특징과

    Error발생시 Warning을 일으킨다는 특징이 있다.

 

require()

    :include()와 대부분 동일한 수행을 한다.

    하지만 호출당할때 문서를 코드 자체로서 인식하여 리딩하기에

    include()보다는 속도가 빠르다. (뭐.. 코딱지만큼의 속도차이겠지만.. 쿨럭.)

    그리고 Error발생시 Fatal Error를 발생시킨다.

 

include_once()

    :include()와 대부분 동일한 수행을 한다.

    하지만 문서에 이미 로드된 동일 문서가 있다면

    include_once()는 더이상 include하지 않는다는 차이가 있다.

댓글