Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 HTML 모드 전환하기: HTML과 PHP 코드 혼합 사용법


정의 및 사용법

PHP 파일은 HTML 문서 안에 PHP 코드 블록을 삽입한 형태로 작성할 수 있습니다. PHP 태그(<?php ... ?>) 바깥에 있는 내용은 파서가 무시하고 그대로 클라이언트 브라우저에 전달되며, 브라우저가 이를 일반 HTML로 해석합니다. 하나의 HTML 문서에는 여러 개의 PHP 블록을 포함할 수 있으며, 각 블록은 <?php?> 태그로 감싸면 됩니다.

문법

<p>
HTML 블록
</p>
<?php
// PHP 블록
..
..
?>
<p>
HTML 블록
</p>
<?php
// PHP 블록
..
..
?>
<p>
HTML 블록
</p>

파서는 PHP 시작 태그를 만나는 순간부터 종료 태그에 도달할 때까지 클라이언트에게 출력을 렌더링합니다. 만약 코드에 조건문이 포함되어 있다면, 파서는 조건의 참·거짓 여부에 따라 어떤 블록을 건너뛰고 어떤 블록을 출력할지 판단합니다.

종료 태그 이후부터 다음 시작 태그가 나타나기 전까지의 모든 내용은 HTML로 취급되며, 브라우저가 해당 내용을 처리합니다.

PHP 버전

이 기능은 모든 버전의 PHP에서 동일하게 적용됩니다.

다음 예제는 HTML 문서에 삽입된 PHP 코드를 보여줍니다.

예제 1

<html>
<body>
<!-- HTML 코드 -->
<h3>Hello World</h3>
<!-- PHP 코드 -->
<?php
echo "Hello World in PHP";
?>
<!-- HTML 코드 -->
<p>Hello world again</p>
<?php
echo "Hello World again in PHP";
?>
</body>
</html>

출력

위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −

Hello World
Hello World in PHP
Hello world again
Hello World again in PHP

다음은 HTML과 PHP 코드를 혼합하여 조건문과 함께 사용하는 예제입니다.

예제 2

<?php $marks = 10; ?>
<h1>조건문 활용하기</h1>
<?php if ($marks >= 50): ?>
<h2 style="color:blue;">결과: 합격</h2>
<?php else: ?>
<h2 style="color:red;">결과: 불합격</h2>
<?php endif; ?>

출력

$marks 값이 10일 때 위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −

조건문 활용하기
결과: 불합격

$marks 값을 60으로 변경한 후 다시 실행하면 조건이 참이 되어 다른 블록이 출력됩니다 −

조건문 활용하기
결과: 합격

이처럼 PHP의 대체 문법(alternative syntax)인 if ... endif 구문을 사용하면 HTML과 PHP 코드를 자연스럽게 섞어서 템플릿처럼 활용할 수 있습니다.