본문 바로가기

Language/PHP

[PHP] require VS include

반응형
[PHP] require vs include

php_logo

PHP에서는 파일을 포함시키는 requireinclude 두 가지 키워드가 존재한다. 이 두 가지를 번갈아 가면서 써도 큰 차이를 느낄 수 없다. 언제 require를 사용해야하고, 언제 include를 사용해야 할까?

먼저 예제 코드를 작성해 봤다.

index.php에서 work파일을 포함시키고 있다.

img

여기서 requireinclude 모두 동일하게 동작한다.

이 둘은 오류 처리에 대해 차이점이 있다.

includerequire문은 동일하지만 실패 시 다른 동작을 하게 됩니다.

  • require는 치명적인 오류(컴파일 에러)를 생성하고 스크립트를 중지합니다.
  • include는 경고를 생성하고 스크립트는 계속됩니다.

w3schools

즉 파일을 정상적으로 가져오지 못했을 경우, require는 에러가 발생하고 멈추지만 include는 계속 실행하게 된다.

requireinclude로 존재하지 않는 Worker2.php 파일을 포함시켜 봤다.

requ

require의 경우 500 에러와 함께 페이지를 출력할 수 없다.

 

incl

include를 사용했을 경우 첫 index.php의 7 라인에 있는 echo "before Worker::work<br>"; 만 출력하는 것을 볼 수 있다. Worker::work()를 찾을 수 없기 때문에 그 이전 내용까지만 실행이 되는 것이다.

반응형

'Language > PHP' 카테고리의 다른 글

[PHP] session  (0) 2019.06.13
[PHP] psr4  (0) 2019.05.13
[PHP] composer 설치  (0) 2019.05.13
[PHP] autoload  (0) 2019.05.10
[PHP] 웹 프로그래밍  (0) 2019.05.04