php中heredoc的使用方法

Heredoc技術,在正規的PHP文檔中和技術書籍中一般沒有詳細講述,隻是提到瞭這是一種Perl風格的字符串輸出技術。但是現在的一些論壇程式,和部分文章系統,都巧妙的使用heredoc技術,來部分的實現瞭界面與代碼的準分離,phpwind模板就是一個典型的例子。

如下:
<?php
$name = 淺水遊;
print <<<EOT

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
</head>
<body>
<!–12321–>
Hello,$name!
</body>
</html>

EOT;
?>

1.以<<<End開始標記開始,以End結束標記結束,結束標記必須頂頭寫,不能有縮進和空格,且在結束標記末尾要有分號 。開始標記和開始標記相同,比如常用大寫的EOT、EOD、EOF來表示,但是不隻限於那幾個,隻要保證開始標記和結束標記不在正文中出現即可

2.位於開始標記和結束標記之間的變量可以被正常解析,但是函數則不可以。在heredoc中,變量不需要用連接符.或,來拼接,如下:

$v=2;
$a= <<<EOF
"abc"$v
"123"
EOF;
echo $a; //結果連同雙引號一起輸出:"abc"2 "123"

3.heredoc常用在輸出包含大量HTML語法d文檔的時候。比如:函數outputhtml()要輸出HTML的主頁。可以有兩種寫法。很明顯第二種寫法比較簡單和易於閱讀。

function outputhtml(){
echo "<html>";
echo "<head><title>主頁</title></head>";
echo "<body>主頁內容</body>";
echo "</html>;
}

function outputhtml()
{
echo <<<EOT
   <html>
   <head><title>主頁</title></head>
   <body>主頁內容</body>
   </html>
EOT;
}

outputhtml();

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *