php에서 외부 파일 불러오기
부끄럽게도 include와 require의 차이에 대한 질문에 답하지 못했다. 그동안 너무 하던 대로만 해왔던 게 문제다. 새로운 것보다 기본부터 다시 정리해야겠다.
php에서는 외부 파일을 불러올 때 include(_once), require(_once)를 사용한다. 정상인 경우는 둘 다 같은 역할을 하지만 오류에 대한 결과가 다르다.
include, include_once
include는 외부 파일이 없으면 무시하고 진행한다. warning이 발생한다.
The include construct will emit an E_WARNING if it cannot find a file
include가 파일을 찾지 못하면 E_WARNING
require, require_once
require는 외부 파일이 없으면 프로그램을 종료한다. error가 발생한다.
require is identical to include except upon failure it will also produce a fatal E_COMPILE_ERROR level error.
require는 include와 동일하게 동작하지만 E_COMPILE_ERROR
autoload
php의 패키지 관리자인 composer에서는 autoload를 불러오는 코드를 추가해야 한다. 문제가 있으면 실행이 안 되어야 하기 때문에 require를 사용한다.
require __DIR__ . ‘/vendor/autoload.php’;