The require_once()
은 PHP가 파일이 이미 포함되어 있는지 확인하고 제외 된 경우 다시 포함 (제외)하지 않는 것을 제외하고는 require()
과 동일합니다.
require()
의 기능은 오류를 다르게 처리한다는 점을 제외하면 include()
과 동일합니다. 오류가 발생하면 include() 함수는 경고를 생성하지만 스크립트는 계속 실행됩니다. require()
이 심각한 오류를 생성하고 스크립트가 중지됩니다.
include/require
과 include_once/require_once
문 사이의 유일한 차이점은 주어진 파일이 실제로로드 될 횟수입니다. include_once/require_once
문을 사용하면 파일을 여러 번로드하거나 실행할 수 없습니다. 이 두 가지 방법 중 하나를 사용하여 파일을 두 번로드하려고 시도하면 무시됩니다. 스크립트 내에서 동일한 함수를 여러 번 정의하는 것은 용납 될 수 없기 때문에 개발자는이 함수를 사용하여 이전에로드되었는지 여부를 확인할 필요없이 필요에 따라 스크립트를 포함 할 수 있습니다.
<?php
include ('library.inc');
$leap = is_leapyear(2003);
require ('library.inc');
$leap = is_leapyear(2003);
?>
두 명령문 모두 현재 스크립트가 코드를 별도의 파일로 실행하도록 허용하는 경우 두 코드의 차이점은 무엇입니까?
두 가지 주요 차이점이 있습니다
첫 번째 값을 반환 할 수있는 기능이며, 두 번째는 요청 된 파일이로드 어떤 상황 받고있다. include
문을 사용하면 PHP는 include
문 실행 시점에 도달하고 include
문을 파일 내용으로 바꿀 때까지 요청 된 파일의 실제로드를 지연시킵니다. 반대로 require
문의 경우 require
문 (따라서 파일의 내용)이 스크립트의 정상적인 진행 과정에서 실행되었는지 여부에 관계없이 require
문을 요청한 파일의 내용으로 바꿉니다.
http://82.157.70.109/mirrorbooks/php5/067232511X/ch01lev1sec8.html
참고
외부 파일에서 값을 반환 할 수있는 능력에서 단락 위에 인용 만 포함 include_once
문으로 제한됩니다. require 및 require_once
문은이 방식으로 사용할 수 없습니다.
require
는 Fatal error
하지만 include
이 파일을 찾을 수없는 경우 Warning
성능이 떨어지면() 또는 require()가 메모리 비교가 필요하지 않으므로 더 빠릅니다. 너 무슨 소리 야? – jtheman
가능한 복제본은 언제 필요합니까? \ _once vs include를 사용해야합니까?] (http://stackoverflow.com/questions/2418473/when-should-i-use-require-once-vs-include) –