update : 2015.11.03
php.shukuma.com

검색:
 
 
HTML에서 벗어나기

HTML에서 벗어나기

PHP가 파일을 해석할 때, PHP가 사이에 있는 코드를 해석하라고 하는 시작과 끝 태그를 찾습니다. 이런 방법의 해석은, 시작과 끝 태그 밖에 있는 부분은 PHP 해석기가 무시하게 됨으로써, php가 어떠한 종료의 문서에도 포함될 수 있도록 합니다. 대부분의 경우 다음 예제와 같이 php가 포함된 HTML 문서를 보게 될 것입니다.

<p>이 부분은 무시합니다.</p>
<?php echo '이 부분은 해석합니다.'?>
<p>이 부분도 무시합니다.</p>

좀 더 복잡한 구조도 사용할 수 있습니다:

Example #1 복잡한 벗어나기

<?php
if ($expression) {
    
?>
    <strong>This is true.</strong>
    <?php
} else {
    
?>
    <strong>This is false.</strong>
    <?php
}
?>
예상한 대로 작동합니다. PHP가 ?> 닫기 태그를 만나면, 그것이 무엇이던간에 다른 시작 태그를 만나기 전까지 단순히 출력하기 때문입니다. (바로 따라오는 줄바꿈 제외 - 명령 구분 참고) 물론, 여기서 주어진 예제는 부자연스럽지만 큰 텍스트 블록을 출력할 경우에는 PHP 해석 모드를 벗어나는 것이 모든 텍스트를 echoprint를 통하여 전송하는 것보다 효율적입니다.

php에서 사용할 수 있는 네가지 형태의 시작과 끝 태그가 있습니다. 그 중 두가지, <?php ?>와 <script language="php"> </script>는 항상 사용할 수 있습니다. 두가지 짧은 태그와 ASP 형식 태그는 php.ini 설정 파일에서 끄거나 켤 수 있습니다. 그러므로, 몇몇 사람들에겐 짧은 태그나 ASP 형식 태그가 편할지는 몰라도, 이식성이 부족하므로 일반적으로 권하지 않습니다.

Note:

PHP를 XML이나 XHTML에 넣을 경우 <?php ?> 태그를 사용해야 표준과 호환을 유지할 수 있습니다.

Example #2 PHP 시작과 끝 태그

1.  <?php echo 'XHTML나 XML 문서와 호환시키려면, 이렇게 쓰세요'?>

2.  <script language="php">
        
echo '어떤 에디터 (프론트페이지같은)는 
              처리 명령을 좋아하지 않습니다'
;
    
</script>

3.  <? echo '이런 형태가 제일 간단한 SGML 처리명령입니다'?>
    <?= expression ?>은 "<? echo expression ?>"을 간단히 쓴 모양입니다

4.  <% echo ("ASP스타일 태그를 쓸 수도 있습니다"); %>
    <%= $variable; # 이것은 "<% echo . . ." %>을 간단히 쓴 모양입니다

예제에서 볼 수 있는 태그 중 첫번째와 두번째는 항상 사용할 수 있지만, 둘 중 첫번째 예제가 가장 보편적으로 사용되며, 권장됩니다.

짧은 태그(예제 3)은 php.ini 설정 파일 지시어 short_open_tag를 활성화하거나, php를 --enable-short-tags 옵션으로 설정하였을 경우에만 사용할 수 있습니다.

ASP 형식 태그(예제 4)는 php.ini 설정 파일 지시어 asp_tags를 활성화 했을 경우에만 사용할 수 있습니다.

Note:

프로그램이나 재사용을 위한 라이브러리를 개발할때, 또는 통제밖의 PHP서버에 배치시킬때는 짧은 형 태그를 쓰는것은 피해야 한다. 왜냐하면 짧은 형 태그는 목표하는 서버에서 지원되지 않을수도 있기 때문이다. 이식성을 위해서, 재사용 코드는 짧은 형 태그로 쓰지 않도록 한다.