문장 구분

문장 구분 (Instruction separation)

이 페이지는 PHP에서 각 문장(statement)을 세미콜론으로 끝맺는 규칙과, PHP 코드 블록의 닫는 태그가 세미콜론 역할을 대신하는 동작을 설명합니다.

출처: PHP: Instruction separation - Manual

본문

C나 Perl처럼, PHP에서도 각 문장의 끝에 세미콜론을 붙여 명령(instruction)을 끝맺어야 합니다. PHP 코드 블록의 닫는 태그는 자동으로 세미콜론을 암시하므로, PHP 블록의 마지막 줄을 세미콜론으로 끝맺을 필요는 없습니다. 블록의 닫는 태그는 바로 뒤따르는 개행이 있다면 그 개행도 함께 포함합니다.

예제 #1 닫는 태그가 뒤따르는 개행을 포함하는 예

<?php echo "Some text"; ?>
No newline
<?= "But newline now" ?>

위 예제는 다음과 같이 출력합니다.

Some textNo newline
But newline now

예제 #2 PHP 파서에 들어가고 나오는 예

<?php
    echo "This is a test\n";
?>

<?php echo "This is a test\n" ?>

<?php echo "We omitted the last closing tag\n";

참고: 파일 맨 끝에 오는 PHP 블록의 닫는 태그는 선택 사항입니다. 어떤 경우에는 includerequire 를 사용할 때 이를 생략하는 것이 도움이 됩니다. 파일 끝에 원치 않는 공백이 생기지 않고, 나중에 응답(response)에 헤더를 계속 추가할 수 있기 때문입니다. 또 출력 버퍼링(output buffering)을 사용할 때 포함된 파일이 만들어낸 부분의 끝에 원치 않는 공백이 붙는 것을 보고 싶지 않다면 생략이 편리합니다.

더 알아보기