《PHP編程:php中heredoc與nowdoc介紹》要點:
本文介紹了PHP編程:php中heredoc與nowdoc介紹,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP應(yīng)用Heredoc技術(shù),在正規(guī)的PHP文檔中和技術(shù)書籍中一般沒有詳細(xì)講述,只是提到了這是一種Perl風(fēng)格的字符串輸出技術(shù).但是現(xiàn)在的一些論壇程序,和部分文章系統(tǒng),都巧妙的使用heredoc技術(shù),來部分的實現(xiàn)了界面與代碼的準(zhǔn)分離,phpwind模板便是一個典型的例子.??
PHP應(yīng)用1.以<<<End開始標(biāo)記開始,以End結(jié)束標(biāo)記結(jié)束,結(jié)束標(biāo)記必須頂頭寫,不能有縮進(jìn)和空格,且在結(jié)束標(biāo)記末尾要有分號 .開始標(biāo)記和開始標(biāo)記相同,好比常用大寫的EOT、EOD、EOF來表示,但是不只限于那幾個,只要保證開始標(biāo)記和結(jié)束標(biāo)記不在正文中出現(xiàn)即可.??
PHP應(yīng)用2.位于開始標(biāo)記和結(jié)束標(biāo)記之間的變量可以被正常解析,但是函數(shù)則不可以.在heredoc中,變量不必要用連接符.或,來拼接,如下:?
PHP應(yīng)用3.heredoc常用在輸出包括大量HTML語法d文檔的時候.比如:函數(shù)outputhtml()要輸出HTML的主頁.可以有兩種寫法.很明顯第二種寫法比較簡單和易于閱讀.?
PHP應(yīng)用在heredoc中會自動替換其中的$變量,將命令和輸入放在一塊,便利?
PHP應(yīng)用附:heredoc和nowdoc的區(qū)別
PHP應(yīng)用heredoc使用 <<< EOT 的標(biāo)示符,而nowdoc使用 <<< 'EOT' 這樣的標(biāo)示符,其中nowdoc是PHP5.3引進(jìn)的新技術(shù),它包含了heredoc的語法,只是其中的內(nèi)容絕對不會進(jìn)行任何的轉(zhuǎn)義和解釋,是什么內(nèi)容就是什么內(nèi)容,不會解析PHP相關(guān)的內(nèi)容
heredoc中的PHP變量建議使用{$name->change()} 大括號括起來,這樣可以避免一定的歧義,如果要原樣輸出可以使用傳說中的轉(zhuǎn)義字符 \ ,轉(zhuǎn)義字符本身可以使用轉(zhuǎn)義字符進(jìn)行輸出,即 \ 這種表示辦法,大括號之類的這些都需要轉(zhuǎn)義輸出.
為了保證的確可用,建議使用 heredoc 的語法,本身也帶有轉(zhuǎn)義,因為PHP5.3才引進(jìn)的nowdoc語法,很多云托管壞境很有可能不支持導(dǎo)致歇菜.
最后強(qiáng)調(diào)下,heredoc是從PHP4.0開始引進(jìn)的,而nowdoc語法則需要5.3版本,因為heredoc包含了nowdoc的功能,所以個人建議還是使用heredoc比較好些.
PHP應(yīng)用簡單來說:
PHP應(yīng)用1、heredoc是動態(tài)的 nowdoc是靜態(tài)的
2、heredoc類似多行的雙引號 newdoc類似多行的單引號
3、heredoc是一種專門處理大段字符串的通用處理方案,而nowdoc是php為了補(bǔ)充動態(tài)實現(xiàn)“heredoc”的效率問題而實現(xiàn)的“高效率”的靜態(tài)版本
歡迎參與《PHP編程:php中heredoc與nowdoc介紹》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/13184.html