2018년 3월 4일 일요일

[PHP예제] 014 here document와 Nowdoc

here document는 긴 문자열을 표시하거나 변수에 대입할 경우에 편리한 구문이다.
<<< 직후의 문자열을 끝을 나타내는 문자열로, '터미네이션 ID'라고 부른다.
이 문자열을 무엇이든지 상관없지만 일반적으로 'EOF', 'EOL', 'EOT', 'END' 등을 사용합니다.
그리고 맨 끝의 행은 들여쓰기를 위한 탭이나 공백이 포함되지 않고 최초에 정의한 터미네이션 ID와 세미콜론(;)으로만 지정해야 한다.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Page Title</title>
</head>
<body>
<div>
<?php
$book = 'PHP 프로그래밍';
$text = <<<EOL
예제 문서의 변수에 문장을 대입합니다.<br>
서적명 : $book<br>
EOL;

echo $text;

echo <<<END
echo에서 직접 문장을 출력할 수도 있습니다.
<br><br>
END;

echo <<<'END'
Nowdoc 구문입니다.<br>
터미네이션 ID를 작은따옴표로 둘러싸고 있는 것에 주의해 주세요.<br>
아래에 기술한 변수는 처리되지 않습니다.<br>
서적명 : $book<br>
END;
?>
</div>    
</body>
</html>

Nowdoc 구문에 대해
PHP5.3부터 'Nowdoc 구문'이 추가 되었다. 이 구문은 기본적으로 here document와 같지만, 변수가 전개되지 않는 점이 다르다.



댓글 없음:

댓글 쓰기