본문 바로가기

프로그램/PHP

[PHP] include 와 include_once and require 와 require_once 차이점


[PHP] include 와 include_once and require 와 require_once 차이점
 
* include()
  - 일반적인 document Embeded 방식이다.
  - 이 문장을 만날 때 마다 매번 재평가되어 재실행된다
  - include 문장을 만날때마다 지정한 파일을 포함한다.
  - loop나 if 문 등에서 사용하여 필요한 경우에만 파일을 포함하도록 할 수 있다.
  - 해당 구문에 도달해야만 읽어 온다
  - Error발생시 Warning을 일으킨다는 특징이 있다.

* include_once()
  - 한번만 include한다는 뜻
  - include()와 대부분 동일한 수행을 한다
  - 하지만 문서에 이미 로드된 동일 문서가 있다면
  - include_once()는 더이상 include하지 않는다는 차이점이 있다.
  - 즉 A.php라는 파일에 function A() 라는 사용자 함수가 정의되어 있을때...
    A.php를 여기 저기서 include or require하게되면 중복된 함수 정의라는 에러가 발생합니다.. 
    이것을 막고자 할때 사용합니다.

* require()
 - require()는 실패시에 치명적인 E_ERROR 등급 오류가 발생한다는 점을 제외하면, include()와 동일합니다.
 - 즉, include()가 경고(E_WARNING)만 발생하고 스크립트는 계속 진행되는 것과 달리, 스크립트가 중단됩니      다. 작동에 관해서는 include() 문서를 참고하십시오. 

* require_once()
  - 한번만 require한다는뜻
  - 중복된 require를 방지하는 제어문 입니다.
  - 즉 A.php라는 파일에 function A() 라는 사용자 함수가 정의되어 있을때...
    A.php를 여기 저기서 include or require하게되면 중복된 함수 정의라는 에러가 발생합니다.. 
    이것을 막고자 할때 사용합니다..
    require_once() or include_once()를 사용하면 이미 로딩된 파일은 중복해서 읽어 들이지 않습니다.