PHP의 include와 require의 차이점(자세한 설명 포함)
1 사용 구문 및 소개
1.include() 구문:
include(/path/to/filename)
inc() 문은 호출된 위치에 파일이 포함되어 있습니다. 파일을 포함하면 명령문 위치에 지정된 파일의 데이터를 복사하는 효과가 있습니다.
include()를 사용할 때 괄호를 무시해도 됩니다. 조건문에서 include()를 사용할 때는 명령문 블록 중괄호로 묶거나 다른 명령문 래퍼로 묶어야 합니다.
2.include_once() 구문:
include_once(filename)
include_once() 문은 스크립트 실행 중에 지정된 파일을 포함하고 실행합니다. 이 동작은 include() 문과 유사합니다. 유일한 차이점은 include_once()가 파일이 이전에 포함되었는지 먼저 확인한다는 것입니다. 이 포함은 무시됩니다.
3. require() 구문:
require(filename)
require()는 require 호출이 있는 위치에 템플릿 파일을 포함한다는 점에서 include와 거의 동일합니다. 필수와 포함 사이에는 두 가지 중요한 차이점이 있습니다.
1. require의 위치에 관계없이 지정된 파일이 require가 나타나는 스크립트에 포함됩니다. 예를 들어, false로 평가되는 if 문에 require를 배치하더라도 지정된 파일은 계속 포함됩니다.
2. require 오류가 발생하면 스크립트 실행이 중지되지만, include를 사용하면 스크립트가 계속 실행됩니다.
4. require_once() 구문:
require_once(filename)
require_once() 문은 스크립트 실행 중에 지정된 파일을 포함하고 실행합니다. 이 동작은 require() 문과 유사합니다. 유일한 차이점은 require_once()가 파일이 이전에 포함되었는지 먼저 확인한다는 것입니다.
II 차이점 요약
1. include() 문과 require() 문의 차이점.
예제 1
include('hello.php'); echo 'include test final!';//include报错,但是会继续执行,显示:include test final! require('hello.php'); echo 'require test final!';//require报错,停止代码的执行。
요약:
⑴ include()는 경고를 생성하고 스크립트는 계속 실행됩니다.
⑵ require()는 치명적인 오류를 일으키고 스크립트 실행이 중지됩니다.
즉, 파일이 없거나 오류가 발생한 경우 페이지 처리를 중지하려면 require()를 사용하세요. 오류가 발생했을 때 페이지 처리를 계속하려면 include()를 사용하세요.
PHP 4.3.5 이전에는 포함 파일의 구문 오류로 인해 프로그램이 중지되지 않았지만 이 버전부터는 중지됩니다.
2.require()는 어쨌든 파일을 포함하고, include()는 선택적으로 포함할 수 있습니다.
예제 2
<?php if(FALSE){ require('x.php'); } if(FALSE){ include('s.php'); } ?>
위 코드에서는 x.php가 반드시 포함되고 s.php도 반드시 포함됩니다. 포함되지 않습니다.
3.include_once(), require_once() 및 include()의 차이점은 require()
include_once()와 마찬가지로 require_once()와 마찬가지로 스크립트 중에 동일한 파일이 두 번 이상 포함될 수 있는 경우에 사용해야 합니다. 실행 이 경우 함수 재정의, 변수 재할당 등과 같은 문제를 피하기 위해 한 번만 포함되도록 하는 것이 좋습니다. 이것이 include_once()와 require_once(), include()와 require()의 주요 차이점입니다.
주의가 필요한 세 가지 문제
1. 경로 문제
특히 중첩된 include의 경우 포함된 파일의 경로에 주의해야 합니다. 예를 들어, 파일 A에는 파일 B가 포함되어 있고, 파일 B에는 파일 C가 포함되어 있으며, 파일 A, B, C는 같은 폴더에 있지 않습니다. 이때 실수를 저지르기 쉽습니다.
해결책: dirname(__FILE__) 문을 사용할 수 있습니다. 이는 현재 스크립트의 절대 경로를 가져오는 것을 의미합니다. 예: require_once(dirname(__FILE__).'/config.php');
2. 효율성 문제
include_once(), require_once()는 include(), require()에 비해 효율성이 떨어집니다. , 최소한 파일이 포함되어 있는지 확인해야 하기 때문입니다. 이 문제는 PHP5 버전에서 많이 개선되었으나 여전히 효율성에는 차이가 있습니다.
읽어 주셔서 감사합니다. 읽은 후 발전이 있기를 바랍니다.
추천 튜토리얼: "PHP 튜토리얼"
위 내용은 PHP에서 포함 파일과 요구 사항의 차이점(자세한 설명 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!