Programming Language/PHP
[PHP] 히어 다큐먼트 구문 및 Nowdoc 구문 (이스케이프 없이 편하게 문장 만들기)
재테크하는 개발자
2019. 9. 8. 15:05
● 히어 다큐먼트 구문
: 여러 행의 문자열을 좀더 간단히 만들 수 있습니다. 히어 다큐먼트는 <<<에 이어 공백을 넣고 임의의 식별자를 사용해 문장을 감싸는 구조입니다.
시작 식별자는 큰따옴표로 감싸고, 종료 식별자는 큰따옴표없이 반드시 행이 시작되는 1열에 사용하고 세미콜론을 뒤에 붙여 개행합니다.
(일반적으로 EOD, EOT, EOL, END 등을 자주 사용합니다.)
위 예제를 보시면 EOD가 시작, EOD가 종료 식별자입니다.
히어다큐먼트 안에 쓴 변수 $version은 "PHP 7"처럼 값 7이 들어가고 큰따옴표도 그대로 출력됩니다.
작은 따옴표도 동일하게 출력됩니다.
● Nowdoc 구문
: 히어 다큐먼트 구문과 비슷한 기능으로 Nowdoc구문이 있습니다. Nowdoc은 히어 다큐먼트와 같은 구조지만, 시작 식별자를 작은 따옴표로 감쌉니다.
위 예제를 출력해보면
[지금부터 함께 "PHP $version"을 공부합시다.
진심이에요.] 라고 뜨게되는데 변수명 그대로 출력됩니다.
Nowdoc은 히어 다큐먼트와 달리 문장의 변수를 값으로 변환하지 않습니다.
PHP코드나 텍스트를 삽입할때 이스케이프가 필요하지 않으므로 편리합니다.