기본 문법
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
}
?>