1. 파일 포함 개요
실제 개발에서는 프로그램에 있는 공통 코드를 파일에 넣어서 사용해야 하는 경우가 종종 있는데, 이 코드의 파일 이 파일을 포함하면 됩니다. 이 방법은 코드의 재사용성을 향상시키고 코드 작성 및 유지 관리에 큰 편의성을 제공합니다. PHP에는 파일을 포함하는 require, require_once, include 및 include-once의 네 가지 방법이 있습니다.
차이점을 비교해 보겠습니다.
참고:
1, 덜 사용_ 한 번 가져옵니다. 탐지 작업을 수행하는 데 더 많은 리소스가 소비되기 때문입니다.
2. 4가지 방법의 기능 소개
참고: 학생들이 로컬에서 코드 복사
테스트하려면 1.php 파일을 만들고 그 안에 두 개의 함수를 작성합니다.
<?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?>
위 PHP 파일과 동일한 디렉터리에 다음을 만듭니다. 또 다른 2 .php 파일에는 1.php 파일이 포함되어 있습니다. 이런 식으로 내 기능을 1.php에 구체적으로 배치할 수 있습니다. 이러한 기능이 필요할 때 거기에서 포함합니다.
<?php include '1.php'; //可以直接调用 demo(); test(); ?>
위의 예를 통해 포함 기능을 알고 있습니다. 다음으로, include와 require를 비교합니다.
코드에서는 먼저 include를 사용하여 존재하지 않는 test.php 파일을 포함합니다.
<?php include '1.php'; include 'test.php'; //可以直接调用 demo(); test(); ?>
의 로컬 출력 결과는 다음과 같습니다.
그런 다음 require를 사용하여 존재하지 않는 test.php 파일을 포함합니다.
위의 예를 비교하여 다음을 발견했습니다.
test.php 파일이 없으면 include는 경고를 표시하고 데모() 및 test() 함수를 계속 실행합니다.
그리고 require는 직접 오류를 보고하며, 데모()와 test() 함수를 계속 실행할 수 없습니다.
include와 include_once의 차이점은 반복 포함 여부를 감지하는 것입니다. include_once가 반복적으로 포함되면 해당 파일은 더 이상 포함되지 않으며, include는 이에 대해 신경 쓰지 않습니다. 파일을 가져왔는지 여부에 관계없이 다시 가져오세요.
이제 동일한 2.php를 시도해 보겠습니다. 각각 include와 include_once를 사용하여 function.php를 두 번 포함합니다.
<?php include '1.php'; include '1.php'; //可以直接调用 demo(); test(); ?>
결과:
include_once로 변경하고 다시 시도하세요:
<?php include_once '1.php'; include_once '1.php'; //可以直接调用 demo(); test(); ?>
출력:
위 그림의 프롬프트는 함수 데모를 재정의할 수 없다는 것입니다() .
함수 정의 장에서 언급했듯이 함수는 두 번 정의할 수 없으며, 그렇지 않으면 오류가 보고됩니다. 3_1.php를 두 번 포함했기 때문에 두 번 실행되어 이런 오류가 보고되었습니다.
include_once가 오류를 보고하지 않는 이유는 function.php가 이전에 포함되었다가 더 이상 포함되지 않는다는 것을 감지하기 때문입니다.
require와 require_once의 기능을 여러분의 가장 똑똑한 두뇌로 추론할 수 있나요? require_once에는 두 가지 특성이 있습니다.
1. 포함된 파일이 존재해야 합니다. 그렇지 않으면 실행이 중지됩니다.
2. 중복 포함 검사가 수행됩니다
새로운 학습:
include와 require의 차이에 오류 경고가 발생하지만 계속 실행됩니다. Require는 오류가 발생한 후 경보를 울리고 더 이상 실행되지 않습니다.
inlcude와 include_once의 차이점은 반복적으로 포함되는지 여부를 감지하는 것입니다. include_once가 반복적으로 포함되면 해당 파일은 더 이상 포함되지 않으며, include는 이에 대해 신경 쓰지 않습니다.