if 문 구조 관련

미해결질문
안형우 프로필
안형우 3달 전

안녕하세요 :) 기본적인 질문이라서 죄송하실 필요는 없어요~ 오히려 이런 것들이 검색해서도 잘 나오지 않으니까요. 

제가 영상에서 처음엔 echo를 이용해서 html을 출력하려고 하다가 html이 좀 복잡해진다고 느끼니까 PHP 태그를 닫고 html을 쓴 것을 보셨을 거예요. 즉, 필요에 따라 PHP 태그를 닫았다가 열기도 한다는 것을 짐작하실 수 있습니다.

예시를 한 번 보여 드릴 게요. 아래처럼 간단한 if문인 경우에는 그냥 PHP 태그를 닫지 않고 쓰는 편이 편할 것입니다.

<?php
if ($age > 18) {
    echo '성인입니다';
} else {
    echo '미성년자입니다.';
}

그런데 꽤 복잡한 html을 출력해야 한다고 해 봅시다. echo 만 이용하는 경우에는 좀 복잡해져요.

<?php
if ($is_success) {
    echo '<h1>결제 신청 성공</h1>';
    echo '<p class="description">아래와 같이 입금해 주시면 됩니다.</p>';
    echo '<ul>';
    echo '<li>입금 기한: 2020년 8월 1일</li>';
    echo '<li>금액: 50,000원</li>';
    echo '<li>은행: 국민은행</li>';
    echo '<li>계좌번호: 0000-00-000000-000</li>';
    echo '</ul>';
} else {
    echo '<h1>결제 신청 실패</h1>';
    echo '<p class="description">뭔가 오류가 발생했습니다. 아래 메시지를 웹사이트 관리자에게 알려 주고 문의해 주세요.</p>';
    echo '<ul>';
    echo "<li>에러: {$error_code}</li>";
    echo "<li>{$error_message}</li>";
    echo '<li>문의 이메일: <a href="mailto:support@example.com">support@example.com</a></li>';
    echo '<li>문의 전화: <a href="tel:02-0000-0000">02-0000-0000</a></li>';
    echo '</ul>';
}

이렇게 쓰는 경우 에디터의 html 자동완성 기능이나 컬러링이 제대로 작동하지 않게 되는 경우도 많고, 타자를 치기도 힘들어집니다. 그래서 그냥 PHP 태그를 닫고 작성을 하는 것이죠. PHP 태그를 닫고 작성을 하면 echo를 하는 것과 같은 효과를 내게 됩니다.

<?php
if ($is_success) { ?>
    <h1>결제 신청 성공</h1>
    <p class="description">아래와 같이 입금해 주시면 됩니다.</p>
    <ul>
        <li>입금 기한: 2020년 8월 1일</li>
        <li>금액: 50,000원</li>
        <li>은행: 국민은행</li>
        <li>계좌번호: 0000-00-000000-000</li>
    </ul>
<?php } else { ?>
    <h1>결제 신청 실패</h1>
    <p class="description">뭔가 오류가 발생했습니다. 아래 메시지를 웹사이트 관리자에게 알려 주고 문의해 주세요.</p>
    <ul>
        <li>에러: <?= $error_code ?></li>
        <li><?= $error_message ?></li>
        <li>문의 이메일: <a href="mailto:support@example.com">support@example.com</a></li>
        <li>문의 전화: <a href="tel:02-0000-0000">02-0000-0000</a></li>
    </ul>
<?php }

이렇게 if문 안에 들어가는 내용에 따라 개발자가 판단해서 PHP 태그를 열거나 닫거나 하는 것입니다.

혹시 해소되지 않은 의문이 있다면 추가로 질문해 주세요.

감사합니다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스