복붙노트

php에서 "include"와 "require"의 차이점

PHP

php에서 "include"와 "require"의 차이점

그들 사이에 어떤 차이가 있습니까? 선호도를 사용하고 있습니까? 하나를 다른 것 위에 사용하면 어떤 이점이 있습니까? 어느 것이 더 나은 보안입니까?

해결법

  1. ==============================

    1.require 페이지에서 자세한 PHP 매뉴얼에 설명 된 차이점을 찾을 수 있습니다.

    require 페이지에서 자세한 PHP 매뉴얼에 설명 된 차이점을 찾을 수 있습니다.

    예제에 대한 @ efritz의 답변보기

  2. ==============================

    2.파일을로드 할 수 없으면 require가 PHP 치명적인 오류를 발생시킵니다. (실행 중지)

    파일을로드 할 수 없으면 require가 PHP 치명적인 오류를 발생시킵니다. (실행 중지)

    include는 파일을로드 할 수없는 경우 경고를 생성합니다. (실행 계속)

    다음을 포함하고 차이가 나는 좋은 예가 있습니다.

  3. ==============================

    3.파일을로드하지 않고 스크립트가 계속 존재하지 않는다면 include를 사용하십시오 (존재하지 않는 경우를 대비하여). 경고 메시지가 표시되면서 살 수 있습니다.

    파일을로드하지 않고 스크립트가 계속 존재하지 않는다면 include를 사용하십시오 (존재하지 않는 경우를 대비하여). 경고 메시지가 표시되면서 살 수 있습니다.

    require를 사용하면 지정된 파일을로드 할 수 없으면 스크립트가 중지되고 치명적인 오류가 발생합니다.

  4. ==============================

    4.require ()와 include () 사이의 주요 차이점은로드 할 수없는 파일 (예 : 파일이없는 경우)을 필요로하는 경우 () 파일을 완전히 실행하지 못하게하는 치명적인 오류가 발생한다는 것입니다 더 이상 출력이 생성되지 않습니다. 반면에로드 할 수없는 파일을 포함하면 () 경고를 생성하고 페이지를 계속 작성합니다.

    require ()와 include () 사이의 주요 차이점은로드 할 수없는 파일 (예 : 파일이없는 경우)을 필요로하는 경우 () 파일을 완전히 실행하지 못하게하는 치명적인 오류가 발생한다는 것입니다 더 이상 출력이 생성되지 않습니다. 반면에로드 할 수없는 파일을 포함하면 () 경고를 생성하고 페이지를 계속 작성합니다.

  5. ==============================

    5.다른 사람들이 지적한 바와 같이, 유일한 차이점은 require가 치명적인 오류를 발생시키고 catchable 경고를 포함한다는 것입니다. 어느 것을 사용할지에 관해서는, 나의 충고는 포함하도록 충실해야한다. 왜? 경고를 받고 최종 사용자에게 의미있는 피드백을 줄 수 있기 때문입니다. 중히 여기다

    다른 사람들이 지적한 바와 같이, 유일한 차이점은 require가 치명적인 오류를 발생시키고 catchable 경고를 포함한다는 것입니다. 어느 것을 사용할지에 관해서는, 나의 충고는 포함하도록 충실해야한다. 왜? 경고를 받고 최종 사용자에게 의미있는 피드백을 줄 수 있기 때문입니다. 중히 여기다

      // 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");   
    
  6. ==============================

    6.

    <?PHP
    echo "Firstline";
    include('classes/connection.php');
    echo "I will run if include but not on Require";
    ?>
    

    코드가있는 매우 간단한 실제 예제입니다. 첫 번째 에코가 표시됩니다. include 또는 require는 include 또는 require 전에 실행되기 때문에 상관 없습니다.

    결과를 확인하려면 코드의 두 번째 줄에 의도적으로 잘못된 경로를 파일에 제공하거나 파일 이름에 오류를 만듭니다. 따라서 두 번째 에코가 표시되거나 표시되지 않는 것은 require 또는 include를 사용하는지 여부에 완전히 달려 있습니다.

    require를 사용하면 두 번째 메아리가 실행되지 않지만 어떤 오류가 발생해도 포함을 사용하면 두 번째 메아리의 결과도 표시됩니다.

  7. ==============================

    7.Include Program이 종료되지 않고 브라우저에 경고가 표시되지 않으면 프로그램 요구가 종료되고 파일을 찾을 수없는 경우 치명적인 오류가 표시됩니다.

    Include Program이 종료되지 않고 브라우저에 경고가 표시되지 않으면 프로그램 요구가 종료되고 파일을 찾을 수없는 경우 치명적인 오류가 표시됩니다.

  8. from https://stackoverflow.com/questions/3633900/difference-between-include-and-require-in-php by cc-by-sa and MIT license