본문 바로가기

프로그램/기타 레퍼런스

PHP · include(), require(), require_once() 차이점


* include()
  - 이 문장을 만날 때 마다 매번 재평가되어 재실행된다
  - include 문장을 만날때마다 지정한 파일을 포함한다.
  - loop나 if 문 등에서 사용하여 필요한 경우에만 파일을 포함하도록 할 수 있다.
  - 해당 구문에 도달해야만 읽어 온다

* require()
  - C에서 #include와 똑같은 의미로 사용
  - #include 처럼 무조건 파일을 포함
  - loop 구조 안에 두어, 매번 다른 파일을 읽어들일 수 없다는 것을 의미
  - 무조건 파일을 읽어 온다.

* require_once()
  - 한번만 require한다는뜻
  - 중복된 require를 방지하는 제어문 입니다.
  - 즉 A.php라는 파일에 function A() 라는 사용자 함수가 정의되어 있을때...
    A.php를 여기 저기서 include or require하게되면 중복된 함수 정의라는 에러가 발생합니다..
    이것을 막고자 할때 사용합니다..
    require_once() or include_once()를 사용하면 이미 로딩된 파일은 중복해서 읽어 들이지 않습니다.
 
* Example
if (조건)
  require(...)
> 하면 설령 if 문 안으로 들어가든 들어가지 않든 require 하고
if (조건)
  include(..)
> 하면 if 문으로 들어가야만 include 합니다.
단, include()는 특별한 구조이므로, 만약 이것이 조건절 안에 놓여있다면 반드시 {}(statement block)으로 둘러싸야 한다.

출처 : http://web.lge.cn:8000/system/?document_srl=1944