>  기사  >  백엔드 개발  >  PHP 함수 가져오기 및 파일 포함: include() 및 require() 문의 차이점

PHP 함수 가져오기 및 파일 포함: include() 및 require() 문의 차이점

伊谢尔伦
伊谢尔伦원래의
2017-05-16 11:53:012518검색

파일에 정의된 함수를 PHP 스크립트에서 사용하려면 include(), include_once(), require(), require_once() 중 하나의 함수를 사용해야 합니다. 스크립트에 함수 라이브러리 파일을 로드합니다. 이전 장에서는 PHP에서 사용자 정의 함수 라이브러리를 사용하는 방법에 대해 이야기했습니다. 이번 장에서는 require()와 include()의 차이점과 연결에 대해 구체적으로 설명합니다.

PHP는 외부 파일을 포함하는 두 가지 방법을 제공합니다. require() 및 include()는 모두 서버측 포함의 일반적인 방법입니다.

require require("MyRequireFile.php") 로 사용됩니다. 이 함수는 일반적으로 PHP 프로그램의 맨 앞에 배치됩니다. PHP 프로그램이 실행되기 전에 먼저 require에 지정된 파일을 읽어서 PHP 프로그램 웹 페이지의 일부로 만듭니다. 일반적으로 사용되는 기능을 이러한 방식으로 웹 페이지에 도입할 수도 있습니다. require에 파일이 포함되어 있으면 무조건 포함되며, 포함된 파일이 없으면 치명적인 오류가 발생하며, 추가로 require 문과 동일하므로 다음 스크립트 프로그램이 실행되지 않습니다. 추가 다른 소스 파일의 내용이 이 파일에 완전히 복사되므로 일반적으로 사용해야 하는 공용 함수 파일 및 공용 클래스 파일을 참조하기 위해 소스 파일의 시작 부분에 배치됩니다.

include include("MyIncludeFile.php");로 사용됩니다. 이 기능은 일반적으로 흐름 제어의 처리 부분에 배치됩니다. PHP 프로그램 웹페이지는 포함 파일을 읽을 때만 해당 파일을 읽습니다. 이러한 방식으로 프로그램 실행 프로세스를 단순화할 수 있습니다. include에 포함된 파일은 상대적이며, 포함된 파일이 존재하지 않으면 경고 경고가 발생하지만, 다음 스크립트 프로그램은 계속 실행됩니다. 또한, include에 포함된 파일은 일반적으로 프로그램 실행 중에 작성됩니다.

include()와 require()의 차이점

include()와 require()의 차이점 이는 PHP에서 가장 기본적인 문제라고 생각됩니다. 이 두 가지의 용도는 완전히 동일하며, 반드시 어느 것이 앞에 배치되고 어느 것이 중간에 배치될 필요는 없습니다. 이들 사이의 가장 근본적인 차이점은 오류를 처리하는 방식입니다.

require(): 파일이 없으면 치명적인 오류가 보고됩니다.

include(): 파일이 없으면 경고가 표시됩니다.

php를 실행하기 위한 require()의 성능은 include()와 유사합니다. 차이점은 include()의 경우 include()가 실행될 때마다 파일을 읽고 평가해야 하는 반면, require()의 경우 파일은 한 번만 처리된다는 것입니다(실제로 파일 내용은 require() 문을 대체합니다). . 이는 이러한 명령 중 하나를 포함하는 코드와 여러 번 실행될 수 있는 코드가 있는 경우 require()를 사용하는 것이 더 효율적이라는 것을 의미합니다. 반면, 코드가 실행될 때마다 다른 파일을 읽거나 파일 집합을 반복하는 루프가 있는 경우 포함하려는 파일 이름에 대한 변수를 설정할 수 있으므로 include()를 사용하세요. 인수가 다음인 경우()를 포함할 때 이 변수를 사용하십시오.

몇 가지 추가 연결 및 차이점

1. include에는 반환 값이 있지만 require에는 반환 값이 없습니다.

2. include()는 지정된 파일을 포함하고 실행합니다. 처리가 실패하면 include()가 경고를 생성하며, 이러한 프로그램은 실행 시 소스 파일을 갖고 호출합니다. .include() 문과 동일한 변수 범위에 적용됩니다. 동일한 서버에서 정적 페이지를 가져올 수 있습니다.

3. include_once()의 기능은 include()와 거의 같습니다

유일한 차이점은 include_once()는 가져올 파일이 이미 다른 파일에 있는지 먼저 확인한다는 것입니다. 프로그램에서 장소를 가져왔습니다. 그렇다면 다시 가져오지 않습니다. (이 기능은 때때로 매우 중요합니다. 예를 들어 가져올 함수가 사용자가 직접 정의한 일부 함수를 선언하는 경우 동일한 프로그램 이 파일을 가져오면 두 번째로 가져올 때 오류 메시지가 발생합니다. 왜냐하면 PHP는 동일한 이름을 가진 함수를 두 번 선언하는 것을 허용하지 않기 때문입니다.

4. require()는 대상 파일의 내용을 읽고 읽은 내용으로 자신을 대체합니다. 처리가 실패하면 require()가 치명적인 오류를 발생시킵니다.

5. include_once()와 마찬가지로 require_once()도 대상 파일의 내용을 이전에 가져왔는지 먼저 확인합니다. 그렇다면 동일한 내용을 다시 가져오지 않습니다.

6. require는 무조건 포함입니다. 즉, require가 프로세스에 추가되면 조건이 true인지 여부에 관계없이 require가 먼저 실행됩니다.

다음 예는 이 두 함수의 차이점을 완전히 보여줍니다.

test-include.php 및 test-require .php라는 두 개의 PHP 파일을 작성합니다. 같은 디렉토리에 test1.php라는 파일이 있으면 안 됩니다.

test-include.php
<?php
include &#39;test1.php&#39;;
echo &#39;abc&#39;;
?>

위 코드를 실행해 보세요. test1.php 파일을 찾을 수 없기 때문에 오류 메시지가 표시됩니다. 동시에 오류 메시지 아래에 다음과 유사한 내용이 표시될 수 있습니다. :

Warning: include(test1.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 3
Warning: include() [function.include]: Failed opening &#39;test1.php&#39; for inclusion (include_path=&#39;.;C:\php5\pear&#39;) in D:\www\test-include.php on line 3
abc
test-require.php
<?php
require &#39;test1.php&#39;;
echo &#39;abc&#39;;
?>

运行上面的代码,因为没有找到test1.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:

Warning: require(test1.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 3
Fatal error: require() [function.require]: Failed opening required &#39;test1&#39; (include_path=&#39;.;C:\php5\pear&#39;) in D:\www\test-require.php on line 3

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  视频教程:函数导入与文件包含:include和require的使用

3.  php实战视频教程

위 내용은 PHP 함수 가져오기 및 파일 포함: include() 및 require() 문의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.