|
php代碼
復(fù)制代碼 代碼如下:
echo <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;
上面的END結(jié)束符可以自己規(guī)定,在phpwind,使用了“EOT”來結(jié)束。但是需要注意的是,這個(gè)END必須是在一行的開頭才能有效,這其實(shí)是Heredoc技術(shù)的一個(gè)局限性(因?yàn)閔eredoc可以自定義結(jié)束符,所以引入了這個(gè)問題),在下面會提到。
phpwind的模板文件一般存放在templatewind目錄下面,在BBS目錄中,使用require語句包含這個(gè)模板文件。其實(shí)這個(gè)模板文件是作為對應(yīng)的php文件的一部分執(zhí)行的,所以就不需要像phpLib Template那樣需要進(jìn)行模板解析,然后再執(zhí)行的過程。
為了讓heredoc的內(nèi)容能被DreamWeaver這樣的編輯器正確識別,以實(shí)現(xiàn)“所見即所得的”的網(wǎng)頁設(shè)計(jì),需要在heredoc中增加注釋,示例文件如下:
php代碼
復(fù)制代碼 代碼如下:
<!--
<?php
print <<<EOT
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
</head>
<body>
<!--
$name = '淺水游';
print <<<EOT
-->
Hello,$name!
<!--
EOT
print <<<EOT
-->
</body>
</html>
<!--
EOT;
?>
-->
這樣的模板文件,其實(shí)就是一個(gè)標(biāo)準(zhǔn)的,可以執(zhí)行的php文件。但是,這樣的php文件,其HTML樣式在DreamWeaver中可以正確的顯示出來,所有的php代碼會被看做HTML注釋,而且在輸出的時(shí)候,不會輸出出來。比如,上面的文件在DreamWeaver中,被顯示成:
php代碼
復(fù)制代碼 代碼如下:
Hello,$name!
這樣,在設(shè)計(jì)頁面的時(shí)候,我們就可以借助DW的可視化界面,進(jìn)行一些界面的修改,美化等工作。盡管沒有實(shí)現(xiàn)完全的代碼和HTML的分離,但至少提供了一種輔助性的設(shè)計(jì)手段。
php技術(shù):php heredoc和phpwind的模板技術(shù)使用方法小結(jié),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。