PHP - Include와 Require 알아보기





    처음에는 코드가 짧고 간결하지만 프로그램이 점점 커지게 되면 공통적인 코드가 많이 발생하게 되는데요

    이전 포스팅에선 이런 공통적인 코드를 줄이기 위해 함수(Function)의 대해서 알아보았습니다


    그런데 이보다 더 많은 공통적인코드(중복)를 좀더 효율적으로 줄일수 있는 방법이 있는데요 그것이 Include와 Require입니다





     PHP - Include 란?





    Include는 포함하다라는 의미를 갖고 있습니다

    예를 들어 현재 실행시키려는 PHP 파일이 있으며, 현재 실행하고자하는 다른 PHP파일을 포함시킬때 사용하는 방법이 Include와 Require입니다


    즉 PHP에서는 다른 PHP파일을 현재 PHP파일 코드안으로 불러와 사용할수 있습니다




    또한 PHP에서는 include_once와 require_once라는 것이 있습니다

    Include와 Require에 _once가 붙게된다면 파일을 불로올때 한번만불러오게 됩니다


    예를 들어 동일한 파일을 include_once, require_once를 이용하여 2번 코드를 작성하게 되었다하여도 1번만 불러오게 됩니다


    PHP에서 파일을 불러올때 4가지 형식


    Include : 다른 PHP파일을 불러올때 사용

    include_once : 파일을 불러올때 1번만 로드하게 됨

    require :다른 PHP파일을 불러올때 사용

    require_once : 파일을 불러올때 1번만 로드하게 됨






     PHP - Include와 Require 사용문법



    먼저 include를 사용하는 문법을 알아보도록 하겠습니다



    <?php
    
    include '[불러올 파일명]';
    
    ?>
    


    위 코드를 보시면 먼저 PHP상에서 사용하는 include라는 특별한 구문을 사용해서 불러올 파일명 안에 파일명을 입력하시면 파일을 불러오실수 있습니다




    <?php
    
    require '[불러올 파일명]';
    
    ?>
    


    위 코드는 require 사용하여 파일을 불러오는 구문입니다 Include와 사용하는 방법은 동일합니다



    <?php
    
    include_once '[불러올 파일명]';
    
    ?>
    


    <?php
    
    require_once '[불러올 파일명]';
    
    ?>
    


    include_once, require_once 문법은 include, require와 문법과 동일합니다







     PHP - Include 사용해보기


    이제 Include를 사용해 보도록 하겠습니다




    파일 : include.php


    <?php
    
    function server(){
    
    	return 'server-talk';
    
    }
    
    ?>
    


    위 코드는 불러올 파일입니다



    파일명 : get_include.php


    <?php
    
    include 'include.php';
    
    echo server();
    
    ?>
    


    위 코드는 include.php 파일을 불러와 불러온파일의 함수를 출력하는 코드입니다





    출력내용을 확인하시면 불러온 파일의 함수의 리턴값이 출력되는것을 확인하실수 있습니다







     PHP - Include와 Require 차이점



    이제 마지막으로 Include와 Require의 차이점을 알아보도록 하겠습니다

    현재까지 사용한 바로는 기능상의 차이는 없었습니다


    그러나 존재하지 않는 파일 등등의 경우 에러 표시가 다르게 출력됩니다



    [ Include ERROR ]



    위 에러내용은 Include를 잘못하였을경우에 대한 에러이며, Warning Error가 나오시는것을 확인 하실수 있습니다




    [ Require ERROR ]



    위 에러내용은 Require를 잘못하였을경우에 대한 에러이며, Fatal Error가 나오시는것을 확인 하실수 있습니다



    Include와 Require의 에러내용으로 보았을때 Fatal 에러보다 Warning 에러보다 심각한 에러이기 때문에 Include 보다 Require가 더 엄격하게 처리한다고 볼수 있겠습니다.


    Posted by Server-talk 서버이야기