> 백엔드 개발 > PHP 튜토리얼 > include、include_once、require、require_once 区别

include、include_once、require、require_once 区别

WBOY
풀어 주다: 2016-07-30 13:30:46
원래의
1049명이 탐색했습니다.

먼저 말씀드릴 점은 include, include_once, require, require_once의 핵심 기능이 모두 동일하다는 점입니다. 이는 대상 웹페이지의 코드를 직접 복사하는 것과 같습니다.

기본적으로 성능을 고려하지 않는다면, include, include_once, require, require_once를 이용하면 기본적인 효과를 얻을 수 있습니다. 기본적으로 원하는 대로 사용하세요.

사소한 차이점은 다음과 같습니다.

예를 들어 1.php에는 간단한 print 문이 있습니다.

<?php echo "1" ?>
로그인 후 복사

다음을 실행한 결과 다음 프로그램:

<?php
include &#39;1.php&#39;;
require &#39;1.php&#39;;

include_once &#39;1.php&#39;;
require_once &#39;1.php&#39;;
?>
로그인 후 복사

은 4개의 1이 아닌 2개의 1입니다. 왜냐하면 include와 require는 둘 다 지정된 파일을 도입하고 _once는 한 번만 도입된다는 의미, 즉 이전에 도입된 파일을 의미하기 때문입니다. 다시 소개하지 않습니다.

<?php
include_once &#39;1.php&#39;;
require_once &#39;1.php&#39;;
include &#39;1.php&#39;;
require &#39;1.php&#39;;
?>
로그인 후 복사

로 쓰면 결과는 4개가 됩니다.

_once는 이전에 소개된 내용이 더 이상 소개되지 않는다는 의미이지만, 이 문은 가져온 웹페이지의 코드가 동일한지 확인하지 않는다는 점에 유의할 필요가 있습니다. untitled.html 및 untitled1.html 코드가 정확히 동일한 페이지는 다음과 같습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" c/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>
로그인 후 복사

다음 명령문이 있는 경우:

<?php
include_once &#39;untitled.html&#39;;
include_once &#39;untitled1.html&#39;;
?>
로그인 후 복사

결과는 다음과 같습니다. 이렇게:


같은 부분이 두 번 나오는 걸 보세요. _once는 파일 이름을 사용하여 이전에 소개되었는지 여부를 확인합니다.

따라서 _once는 이름이 다른 동일한 리소스가 여러 번 소개되는 현상을 막을 수 없습니다.

가져온 파일을 처리하는 다양한 방법 외에도 include와 require의 가장 큰 차이점은 include가 존재하지 않는 파일을 도입할 때 경고를 생성하고 스크립트가 계속 실행되는 반면 require는 오류를 발생시킨다는 것입니다. 치명적인 오류가 발생하고 스크립트 실행이 중지됩니다.

예를 들어, a.php가 존재하지 않는 경우 다음 코드는 여전히 b를 출력합니다:

<?php
include &#39;a.php&#39;;
echo &#39;b&#39;;
?>
로그인 후 복사
그러나

<?php
require &#39;a.php&#39;;
echo &#39;b&#39;;
?>
로그인 후 복사
은 출력하지 않습니다.

다음과 같은 차이점도 있습니다.

include()는 조건부 포함 함수이고, require()는 무조건 포함 함수입니다.

if(FALSE){ 
    include 'file.php'; //file.php不会被引入 
} 

if(FALSE){ 
    require 'file.php'; //file.php将会被引入
}
로그인 후 복사
include에는 반환이 있습니다. value , require 에는

$retVal = include(’somefile.php’);
if(!empty($retVal)){
  echo “文件包含成功”;
}else{
  echo “文件包含失败”;
}
로그인 후 복사
이 없습니다.

include()를 실행할 때 참조해야 하는 파일은 매번 읽어서 평가해야 합니다. require()를 실행할 때 참조해야 하는 파일은 실제로 한 번만 처리됩니다. 실행 중에 참조해야 하는 파일 중 require.() 문을 대체하는 경우 이러한 명령어 중 하나를 포함하는 코드와 여러 번 실행될 수 있는 코드가 있는 경우 require()를 사용하는 것이 더 효율적임을 알 수 있습니다. 코드가 실행될 때마다 다른 파일을 읽거나 For file 반복 루프가 있는 경우 include()를 사용하십시오.

require가 일반적으로 사용됩니다. 이 함수는 일반적으로 PHP 프로그램이 실행되기 전에 먼저 require에 지정된 파일을 읽어서 PHP 프로그램의 일부로 만듭니다. 웹페이지를 공유합니다. 일반적으로 사용되는 기능을 이러한 방식으로 웹 페이지에 도입할 수도 있습니다. 일반적으로 include 방식을 사용하며, 이 기능은 주로 프로세스 제어의 처리 부분에 배치됩니다. PHP 프로그램 웹 페이지는 포함 파일을 읽을 때만 해당 파일을 읽습니다. 이러한 방식으로 프로그램 실행 프로세스를 단순화할 수 있습니다.

또한, include 및 require 뒤에 괄호를 추가할지 여부에 대한 문제는 이론적으로 include와 require의 실행 결과에는 차이가 없으나, 괄호를 추가하는 것은 효율성이 떨어지므로 괄호를 생략할 수 있습니다. 나중에 괄호를 추가하지 마세요.

저작권 안내: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위에는 include, include_once, require, require_once의 차이점을 관련 내용을 포함하여 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿