> 백엔드 개발 > PHP 튜토리얼 > include_once와 include의 차이점에 대한 PHP 자세한 설명

include_once와 include의 차이점에 대한 PHP 자세한 설명

黄舟
풀어 주다: 2023-03-11 12:30:02
원래의
2599명이 탐색했습니다.

include동일한 함수 이름을 가진 두 개의 파일을 가져오면 재정의 오류가 발생합니다. 이 오류는 include_once를 사용하여 피할 수 있으며 일반적으로 _once가 더 많이 사용됩니다. include와 _once의 차이는 실제 상황에 따라 결정되어야 합니다.

include와 require
의 차이점은 include할 파일이 없을 때 경고(Warning)를 생성하고 require가 치명적인 오류(Fatal error)를 일으키는 동안 명령문 다음의 프로그램이 계속 실행됩니다. , 프로그램이 종료됩니다.

include_once 및 require_once
는 스크립트 실행 중에 동일한 파일이 두 번 이상 포함될 수 있으며 함수 재정의, 변수 재할당 등과 같은 문제를 피하기 위해 한 번만 포함되도록 해야 할 때 사용해야 합니다.

1.include는 사용될 때 로드됩니다. 이 함수는 일반적으로 flow control
2.require의 처리 섹션에 배치됩니다. 이 함수는 일반적으로 PHP 프로그램의 앞에 배치됩니다. _once 접미사는 로드된 항목이 로드되지 않았음을 의미합니다.

include 및 include_once에 대한 큰 연구는 없습니다. 이전에 도입된 적이 있는지, 그렇다면 다시 도입되지는 않을 것입니다. 일반적으로 require_once를 사용하는 것이 권장되므로 온라인에서 많은 차이점을 확인하는 것이 좋습니다. 다음은 두 가지 간단한 예입니다.

incloude에서 소개한 파일이 잘못 전송되거나 파일이 존재하지 않는 경우 include는 경고를 표시하고 프로그램을 계속 실행하는 반면, require는 치명적인 오류를 생성하고 프로그램을 종료합니다.
require_once() 문은 스크립트 실행 중에 지정된 파일을 포함하고 실행합니다. 이
동작
은 require() 문과 유사하지만 유일한 차이점은 파일의 코드가 이미 포함된 경우 다시 포함되지 않는다는 것입니다. require_once()의 기능은 require()와 거의 동일합니다. include_once() 문은 스크립트 실행 중에 지정된 파일을 포함하고 실행합니다. 이 동작은 include() 문과 유사합니다. 유일한 차이점은 파일의 코드가 이미 포함된 경우 다시 포함되지 않는다는 것입니다. 이 명령문의 이름에서 알 수 있듯이 한 번만 포함됩니다. clude_once() 함수의 기능은 include()와 거의 동일합니다. require_once의 기능은 이전에 파일이 로드되었는지 확인하는 것입니다. 로드된 적이 있으면 로드하지 않습니다. 다시 로드하세요. 예를 들어 파일에 유형이 정의되어 있는 경우 해당 파일을 두 번 로드하면 오류가 발생합니다. require_once를 사용하면 이 오류를 방지할 수 있습니다. 저는 include와 include_once의 차이점을 알고 나서 한 번만 로드되는 줄 알고 include_once를 사용해 왔습니다. 반복적인 로딩을 피하기 위해, 반복적으로 로딩되었는지 여부를 확실히 판단할 수 없었던 것 같습니다. 제가 계속 틀렸음이 밝혀졌습니다.

실제로 여러 사람이 프로젝트를 개발하는 경우에는 include_once가 더 좋습니다.

include_once 실행 순서

파일의 절대 경로를 구문 분석해 보면 EG(included_files)를 확인하세요. ) 존재하지 않으면 계속해서

파일을 열고 파일의 열린 경로를 가져옵니다

열린 경로가 있는 EG(included_files)로 이동하여 존재하는지 확인합니다. 없으면 계속하세요

파일을 컴파일하세요(compile_file

최근에 apc.include_once_override를 남길지 말지 여러번 논의했습니다. 이 APC 구성 항목은 제대로 구현된 적이 없습니다.

여기서 저는 이 문제의 원인을 여러분과 공유하고 싶습니다.

include 또는 include_once(이하 모두 include require_once)를 사용할지 여부에 대해 오랫동안 논의해 왔으며 결론은 항상 다음과 같습니다. include_once 대신 include를 사용하는 것이 좋습니다. 예전에는 include_once가 가장 많았습니다. 로드된 파일 목록을 쿼리하여 존재 여부를 확인한 다음 다시 로드해야 합니다.

물론 이 이유는 맞지만 제가 한 것은 다음과 같습니다. 오늘 이야기할 내용은 또 다른 이유입니다.

우리는 PHP가 파일 로드 여부를 결정하는 데 파일의 Open_path가 필요하다는 것을 알고 있습니다. 예를 들면 다음과 같습니다.

위 내용은 include_once와 include의 차이점에 대한 PHP 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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