PHP/기초

PHP include, require 특징 및 차이점

99C0RN 2022. 6. 16. 19:55

개요

include, require 특징 및 차이점 알아보기

내용


include()

include()는 특정한 파일을 현재 실행중인 스크립트에 포함시키고자 할 때 사용한다.

 

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

 

include_once()

- include_once()는 한번만 include 하는 경우에 사용한다.
- include_once()는 include()와 대부분 동일한 수행
하지만 문서에 이미 로드된 동일 문서가 있다면, include_once()는 더이상 include하지 않는다. 

 

gil.php라는 파일에 function log() 라는 사용자 함수가 정의되어 있을때 gil.php를 여기 저기서 include or require하게되면 중복된 함수 정의 에러가 발생하게 된다.

 

이러한 문제를 막기위해 include_once()를 사용한다.


require()

require()는 특정한 파일을 현재 실행중인 스크립트에 포함시키고자 할 때 사용한다.
Error발생시 프로그램 중지(include()와 가장 큰 차이점)

 

require_once()

- require_once()는 한번만 require 하는 경우 사용한다.
- 중복된 require를 방지하는 제어문으로 중복된 함수 정의 에러를 막기 위해 사용한다.
require_once() or include_once()를 사용하면 이미 로딩된 파일은 중복해서 읽어 들이지 않는다


include vs require

현재의 스크립트에 포함시키려는 파일 또는 문서가 실제로 지정한 경로나 URL에 존재하지 않을 경우
include()는 파일이나 문서가 존재하지않는다는 경고성 메시지를 출력하고 계속 파싱(프로그램 계속 실행)
require()는 치명적인 에러가 발생했다고 메시지를 출력 후 해당 프로그램을 중지


내용출처: https://velog.io/@gillog/PHP-include-require-%EC%A0%95%EB%A6%AC