PHP

    HERE docs 문법
    • 조회수 3,195
    • 작성일 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;
    ?>