Forum und email

기본 문법

Table of Contents

HTML에서 벗어나기

PHP가 파일을 해석할때 PHP코드로 해석하라고 하는 특별한 코드와 만나지 않는다면 단순히 그 파일의 텍스트를 넘겨줄 뿐이다. 해석기(parser)는 PHP 닫기 태그가 있는곳까지 발견된 코드 모두를 수행한다. PHP 닫기 태그 를 만나면 다시 텍스트를 그냥 넘겨주기 시작하는것이다. 이런 메카니즘은 HTML안에 PHP코드를 내장시킬수 있게 해준다: PHP 태그 밖의 모든것은 완전히 단독으로 존재하는것이고, 반면에 PHP 태그 안쪽은 코드로서 해석이 된다.

PHP 코드 블록은 네가지의 태그형태로 표시할수 있다. 이 중에서 두가지 (<?php. . .?> 과 <script language="php">. . .</script>)는 항상 유효한 형태이다. 반면에 다른 형태는 php.ini 설정 파일에서 켜거나 끌 수 있다. 짧은형(short-form)태그와 ASP스타일(ASP-style) 태그는 편하겠지만, 긴 형태 태그만큼 이식성이 뛰어나진 못하다. XML이나 XHTML안에 PHP코드를 내장시키려면 XML과 호환될수 있도록 <?php. . .?>형을 써야한다.

PHP가 지원하는 태그 형태:

Example#1 HTML에서 벗어나기

1.  <?php echo("XHTML나 XML 문서와 호환시키려면, 이렇게 쓰세요\n"); ?>

2.  <? echo ("이런 형태가 제일간단하다. SGML 처리명령\n"); ?>
    <?= expression ?>는 "<? echo expression ?>"을 간단히 쓴 태그형
    
3.  <script language="php">
        
echo ("어떤 에디터 (프론트페이지같은)는 
              처리 명령을 좋아하지 않는다"
);
    
</script>

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

첫번째 방법 <?php. . .?>을 쓰는것이 가장 좋다. 이런 형태는 XHTML과 같은 XML호환 코드안에 PHP를 쓸수 있게 해주기때문이다.

두번째 방법은 항상 유효하지 않다. 이 짧은 형은 활성화시켰을때만 유효하다. short_tags() 함수 (PHP 3에서만)로, PHP 설정 파일 안의 short_open_tag 설정 값을 활성화시키거나, configure명령 시에 --enable-short-tags옵션을 줘서 PHP를 컴파일함으로써 가용하게 할수있다.

네번째 방법은 asp_tags설정값을 활성화시킴으로써 ASP 스타일 태그형태를 쓸수 있을때만 유효하다.

Note: 3.0.4부터 ASP 스타일 태그에 대한 지원이 추가되었다

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

블록의 닫기 태그가 하나만 존재한다면 그 뒤에 바로 새줄(newline)이 포함될것이다. 또, 닫기 태그는 자동적으로 세미콜른(;)의 역할도 수행한다. 따라서 PHP블록의 마지막 줄은 세미콜른 으로 끝낼 필요가 없다.

PHP는 다음과 같은 구조도 허용이 된다:

Example#2 향상된 회피(escaping)

<?php
if ($expression) { 
    
?>
    <strong>이것은 참이다.</strong>
    <?php 
} else { 
    
?>
    <strong>이것은 거짓이다.</strong>
    <?php 
}
?>
이런 구조는 기대하던대로 작동한다. 왜냐하면 PHP는 ?>닫기 태그에 맞닥뜨리고나서 열기 태그를 만나기 전까지의 무엇이든 단순히 출력만 하기 때문이다. 이 예제는 PHP 파싱 모드를 줄임으로써 echo()print() 또는 비슷한 함수들이 모든 텍스트를 출력하는것보다 효율적으로 거대한 텍스트 블록 을 출력할수 있게 한다.