PHP 형식 및 출력문

By | 2015년 5월 6일

PHP는 웹프로그램 개발에 편리한 언어로 HTML 내부에서 PHP 태그(<?php ~ ?>) 사이에 위치한다.  아파치와 같은 웹서버는 이 사이에 위치한 코드를 PHP 프로그램으로 인식하여 실행한 후 출력결과를 브라우저에 전달한다. 따라서 PHP 프로그램의 실행결과를 브라우저상에서 확인하려면 echo 문과 같은 출력문을 통해 반드시 확인하려는 결과를 출력해야 한다. 다음 HTML 파일을 동일한 결과를 얻도록 다양한 형태의  PHP 프로그램으로 변경해 보자.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>출력문</title>
  </head>
  <body>
    안녕하세요. <br> 또 만났네요. 
  </body> 
</html>

위 HTML코드 ‘hello.html’은 브라우저 상에 다음과 같은 형태로 나타난다.

hello

아래 프로그램 모두 위 화면과 동일한 결과가 나온다. 그러면 하나씩 다양한 표현방법을 살펴보자.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력문</title>
    </head>
    <body>
        <?php // PHP 프로그램 시작
        echo "안녕하세요.";  // 안녕하세요 출력
        echo "<br>";      // <br> 출력 (브라우저상에서는 줄바꿈 태그)
        echo "또 만났네요."; // 또 만났네요. 출력 
        ?> <!-- PHP 프로그램 끝(PHP 프로그램 외부이므로 HTML 주석문 사용) -->
    </body>
</html>

위 코드 ‘hello-01.php’의 line 8과 line 12에서 각각 PHP 프로그램의 시작과 끝을 알리는 PHP 태그가 사용되었다. 따라서 Line 9 ~ Line 10은 PHP 프로그램이며 웹서버는 이 부분을 실행하고 echo 문에 의해

‘안녕하세요<br>또 만났네요.’

를 출력(브라우저로 전달)한다. 따라서 브라우저를 통해 확인한 실행 결과는 위 HTML 코드 ‘hello.html’과 동일하다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력문</title>
    </head>
    <body>
        <?php // PHP 프로그램 시작
        echo "안녕하세요.";  // 안녕하세요 출력
        echo "<br>";      // <br> 출력 (브라우저상에서는 줄바꿈 태그)
        echo "또 만났네요."; // 또 만났네요. 출력 
        ?> <!-- PHP 프로그램 끝(PHP 프로그램 외부이므로 HTML 주석문 사용) -->
    </body>
</html>

‘hello-02.php’는 각 출력문을 PHP 태그로 감싼 형태로 하나의 PHP 태그내에 세 개의 출력문이 있는 ‘hello-01.php’와는 달리 PHP 태그 내에 하나의 출력문만을 가지도록 변형된 형태이며 실행 결과는 동일하다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력문</title>
    </head>
    <body>
        <?= "안녕하세요." ?>
        <?= "<br>" ?>
        <?= "또 만났네요." ?>
    </body>
</html>

‘hello-02.php’와 같이 PHP 태그 내에 하나의 출력문만 있는 경우 ‘<?php echo’ 표현을 ‘<?=’과 같이 간략한 형태로 나타낼 수 있다. ‘hello-03.php’는 ‘hello-02.php’를 간략화 된 형태의 출력문으로 표현한 것으로 이런 표현은 실제 자주 사용되는 표현이므로 작 익혀둘 필요가 있다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력문</title>
    </head>
    <body>
        <?php echo "안녕하세요.<br>또 만났네요." ?>
    </body>
</html>

‘hello-04.php’는 세 개의 echo 문을 사용하여 출력한 문자열을 하나의 인용부호안에 묶어 echo 문 하나만을 사용하여 나타낸 것으로 실행결과는 동일하다.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>출력문</title>
  </head>
  <body>
    <?= "안녕하세요.<br>또 만났네요." ?>
  </body>
</html>

‘hello-04.php’는 PHP 태그 내에 하나의 출력문만을 사용한 형태로 단축 형태의 표현이 가능하므로 위 ‘hello-05.php’와 같이 표현할 수 있다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력문</title>
    </head>
    <body>
        <?php echo "안녕하세요." ?>
        <br>
        <?php echo "또 만났네요." ?>
    </body>
</html>

‘hello.html”은 ‘hello-06.php’와 같이 표현할 수도 있다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력문</title>
    </head>
    <body>
        <?= "안녕하세요." ?>
        <br>
        <?= "또 만났네요." ?>
    </body>
</html>

‘hello-06.html’ 역시 단축 형태의 출력문 표현이 가능하므로 ‘hello-07.php’와 같이 표현할 수 있다. 위 프로그램 모두 브라우저상에 동일한 결과를 출력한다. 그러나 각 브라우저가 제공하는 HTML 소스보기 기능을 통해 확인해보면 약간의 차이가 있음을 확인할 수 있다. 왜 그런 차이가 발생하는지는 각자 생각해 보자.