php의 "include"와 "require"의 차이
그들 사이에 어떤 차이가 있나요?그것들을 사용하는 것이 선호도의 문제인가요?둘 중 하나를 사용하면 어떤 이점이 있습니까?어떤 것이 보안에 더 좋습니까?
require
파일을 로드할 수 없는 경우 PHP Fatal Error가 발생합니다.(실행 중지)
include
파일을 로드할 수 없는 경우 경고 메시지가 나타납니다.(실행은 계속됩니다)
다음은 포함 및 요구 차이에 대한 좋은 그림입니다.
자세한 PHP 매뉴얼은 다음과 같습니다.
require
에러가 발생한 경우를 제외하고 치명적인 수준의 에러가 발생합니다.즉, 스크립트는 정지되고 include는 경고()E_WARNING
만 발생하며 스크립트는 계속 진행됩니다.
예에 대해서는 @efritz의 답변을 참조해 주세요.
사용하다include
파일을 로드하지 않고 스크립트를 계속 진행해도 괜찮다면(존재하지 않는 경우 등), 경고 에러 메세지가 표시되어 있어도 상관없습니다.
사용.require
지정된 파일을 로드할 수 없는 경우 스크립트가 중지되어 치명적 오류가 발생함을 의미합니다.
의 차이점include()
그리고.require()
포함된 파일을 찾을 수 없을 때 발생합니다.include()
는 경고(E_WARNING)를 해제하고 스크립트는 계속됩니다.require()
는 치명적인 오류(E_COMFILE_ERROR)를 해제하고 스크립트를 종료합니다.포함된 파일이 스크립트가 올바르게 실행되는 나머지 부분에 중요한 경우require()
.
자세한 내용은 PHP에 포함과 요구의 차이점
다른 사람들이 지적한 바와 같이 유일한 차이점은 요구는 치명적인 오류를 발생시키고 포착 가능한 경고를 포함한다는 것입니다.어떤 것을 사용해야 하는지, 저는 계속 포함시키라고 조언합니다.왜일까요? 경고를 포착하여 최종 사용자에게 의미 있는 피드백을 제공할 수 있기 때문입니다.고려하다
// Example 1.
// users see a standard php error message or a blank screen
// depending on your display_errors setting
require 'not_there';
// Example 2.
// users see a meaningful error message
try {
include 'not_there';
} catch(Exception $e) {
echo "something strange happened!";
}
NB: 예를 들어 2에서 작업하려면 http://www.php.net/manual/en/class.errorexception.php에서 설명한 바와 같이 예외에 대한 오류 핸들러를 설치해야 합니다.
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");
<?PHP
echo "Firstline";
include('classes/connection.php');
echo "I will run if include but not on Require";
?>
코드를 사용한 매우 단순한 실용적인 예시입니다.첫 번째 에코가 표시됩니다.include 또는 required 전에 실행되므로 include 또는 required를 사용하든 상관없습니다.
결과를 확인하기 위해 코드의 두 번째 줄에 파일에 대한 잘못된 경로를 의도적으로 지정하거나 파일 이름에 오류를 발생시킵니다.따라서 표시되는 두 번째 에코가 require를 사용하는지 include를 사용하는지에 따라 완전히 달라집니다.
require를 사용하면 두 번째 에코가 실행되지 않지만 include를 사용하면 어떤 오류가 발생하더라도 두 번째 에코의 결과도 표시됩니다.
Include Program이 종료되지 않고 브라우저에 경고가 표시될 경우 Require 프로그램은 종료되고 파일을 찾을 수 없는 경우 치명적인 오류가 표시됩니다.
언급URL : https://stackoverflow.com/questions/3633900/difference-between-include-and-require-in-php
'source' 카테고리의 다른 글
Python은 MySQL 준비문을 지원합니까? (0) | 2023.01.15 |
---|---|
PHP에서 가중치별로 랜덤 결과를 생성하시겠습니까? (0) | 2023.01.15 |
하위 쿼리에 그룹 열이 있을 때 MySQL 8이 INDEX를 사용하지 않습니다. (0) | 2023.01.15 |
Java socket API: 연결이 종료되었는지 확인하는 방법 (0) | 2023.01.15 |
Laravel 데이터베이스에서 모델을 새로고침/새로 고치는 방법 (0) | 2023.01.15 |