PHP

HERE docs 문법
  • 조회수 3,084
  • 작성일 2008-07-30
  •  

문자열을 구분하는 다른 방법은 HERE docs 문법("<<<")을 사용하는 것입니다.

<<< 이후에 식별자가 와야 하고 그 다음에 문자열, 그 다음에 인용을 닫는 어떤 식별자가 와야 합니다.



닫기 식별자는 그 줄의 첫번째 칼럼에서 시작되어야 합니다.



또한 식별자는 PHP의 다른 라벨과 같은 명명규칙을 따라야 합니다.

오직 알파벳 숫자와 밑줄을 포함하고 숫자가 아닌 문자나 밑줄로 시작되어야 합니다.



닫기 식별자를 갖는 줄은 가능한 세미콜론(;)을 제외하고 다른 문자를 포함하지 않는다는 것에 주의해야합니다.

HERE docs 문법에서 텍스트는 큰따옴표가 없지만 큰따옴표로 둘러싸인 문자열처럼 동작합니다.





( HERE docs 문법 사용 예 )




$str = << Example of string

spanning multiple lines

using heredoc syntax.

EOD;


class foo

{

 var $foo;

 var $bar;


 function foo()

 {

  $this->foo = 'Foo';

  $this->bar = array('Bar1','Bar2','Bar3');

 }

}


$foo = new foo();

$name = 'MyName';


echo << My name is "$name". I am printing some $foo->foo.

Now, I am printing some {$foo->bar[1]}.

This should print a capital 'A': \x41

EOT;

?>





※ 주의점



HERE docs 안에 php 변수를 한글과 붙여서 출력할때 에러가 발생할 수 있습니다.

에러 --> $year년 $month월



이때는 중괄호로 묶어주면 올바로 출력됩니다.



<?

$year = date('Y');

$month = date('m');


$str = <<<EOD

<span style="font:14pt 돋음체;color:#FF9900;"><b> {$year}년 {$month}월 </b></span>

EOD;

echo $str;

?>