《PHP實(shí)例:PHP/HTML混寫(xiě)的四種方式總結(jié)》要點(diǎn):
本文介紹了PHP實(shí)例:PHP/HTML混寫(xiě)的四種方式總結(jié),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP作為一款后端語(yǔ)言,為了輸出給瀏覽器讓瀏覽器呈現(xiàn)出來(lái),無(wú)可避免的要輸出HTML代碼,下文介紹下我用過(guò)的三種PHP/HTML混編方法PHP實(shí)戰(zhàn)
1、單/雙引號(hào)包圍法PHP實(shí)戰(zhàn)
這是最初級(jí)的方法了,用法就像下面這樣PHP實(shí)戰(zhàn)
<?php echo ' <!DOCTYPE html> <html> <head> <title> </title> </head> <body> <span>測(cè)試頁(yè)面</span> </body> </html> '; ?>
這樣是最簡(jiǎn)單的一種方法了,直接用單引號(hào)包裝上就行了PHP實(shí)戰(zhàn)
至于雙引號(hào)和單引號(hào)的區(qū)別,就在于前者解析引號(hào)內(nèi)的變量,而后者不解析引號(hào)內(nèi)的變量,參看下面的例子PHP實(shí)戰(zhàn)
<?php $Content='Hello!'; echo "$Content"; echo '<br>'; echo '$Content'; ?>
輸出PHP實(shí)戰(zhàn)
1 Hello!
2 $ContentPHP實(shí)戰(zhàn)
由此可見(jiàn),用雙引號(hào)包圍的字符串中的變量名自動(dòng)解析為了變量值,而用單引號(hào)包圍則依然顯示變量名PHP實(shí)戰(zhàn)
這樣書(shū)寫(xiě)的缺點(diǎn)有兩點(diǎn)PHP實(shí)戰(zhàn)
1、如果輸出內(nèi)容中包含單/雙引號(hào)將極難處理,因?yàn)镻HP無(wú)法判斷這個(gè)引號(hào)是屬于程序的還是輸出內(nèi)容的,所以會(huì)報(bào)錯(cuò)PHP實(shí)戰(zhàn)
2、這樣書(shū)寫(xiě)一些現(xiàn)代文本編輯器(如SublimeText)將無(wú)法對(duì)引號(hào)包圍的輸出的內(nèi)容進(jìn)行語(yǔ)法著色,如果出現(xiàn)一些格式問(wèn)題將極難發(fā)現(xiàn).圖中為SublimeText3的一張截圖,上面的是正常的著色,下面則是用引號(hào)包圍的著色PHP實(shí)戰(zhàn)
PHP實(shí)戰(zhàn)
2、使用HEREDOC/NOWDOCPHP實(shí)戰(zhàn)
HEREDOC和NOWDOC是PHP5.3開(kāi)始支持的一種新特性,它允許在程序中使用一種自定義的標(biāo)志符來(lái)包圍文本,而HEREDOC和NOWDOC的關(guān)系就類(lèi)似于雙引號(hào)包圍和單引號(hào)包圍一樣,前者解析區(qū)塊內(nèi)的變量,而后者不解析區(qū)塊內(nèi)的變量PHP實(shí)戰(zhàn)
下面介紹HEREDOC和NOWDOC的用法PHP實(shí)戰(zhàn)
<?php $Content='Hello!'; //下面寫(xiě)出了一個(gè)HEREDOC,其中標(biāo)識(shí)LABEL可以自定義為任何字符串,但要保證開(kāi)頭的標(biāo)識(shí)和結(jié)尾的標(biāo)識(shí)一樣 echo <<<LABEL $Content LABEL; //結(jié)尾的方法:另起一行,打上LABEL.注意結(jié)尾的標(biāo)識(shí)前面和后面不要插入任何字符,空格也不行 echo '<br>';//為了演示方便換行 //NOWDOC和HEREDOC的書(shū)寫(xiě)方式差別在于NOWDOC的標(biāo)識(shí)符需要用單引號(hào)包圍 echo <<<'LABEL' $Content LABEL; //其他無(wú)異 ?>
也可以參考PHP.net上的關(guān)于這兩個(gè)的wiki:https://wiki.php.net/rfc/heredoc-with-double-quotesPHP實(shí)戰(zhàn)
用HEREDOC/NOWDOC書(shū)寫(xiě)極好的解決了包圍引號(hào)的問(wèn)題,但依然沒(méi)有解決語(yǔ)法著色失效的問(wèn)題PHP實(shí)戰(zhàn)
3、HTML中嵌入PHP程序塊(推薦)
PHP實(shí)戰(zhàn)
這是一種非常合適的辦法,并且這種方法廣泛用在了諸如WordPress模板等場(chǎng)合中.書(shū)寫(xiě)起來(lái)也較為方便,直接在需要輸出的地方寫(xiě)上相關(guān)的代碼就行了,就像下面這樣PHP實(shí)戰(zhàn)
<?php //首先在這里寫(xiě)好相關(guān)的調(diào)用代碼 function OutputTitle(){ echo 'TestPage'; } function OutputContent(){ echo 'Hello!'; } //然后再下面調(diào)用相關(guān)函數(shù)就可以了 ?> <!DOCTYPE html> <html> <head> <title><?php OutputTitle(); ?></title> </head> <body> <span><?php OutputContent(); ?></span> </body> </html>
我認(rèn)為這種方法是在這三種方法中最好的,但是這樣做的缺點(diǎn)是如果這樣的代碼塊一多了就會(huì)嚴(yán)重影響程序閱讀.PHP實(shí)戰(zhàn)
4、使用前端模板引擎PHP實(shí)戰(zhàn)
由于前端的重要性在整個(gè)Web開(kāi)發(fā)中日益上升,現(xiàn)在前/后端工程師逐漸在分離成兩個(gè)職業(yè),所以說(shuō)為了確保前/后端工程師能夠相互配合,使前端開(kāi)發(fā)和后端開(kāi)發(fā)出來(lái)的東西對(duì)接更完美,逐漸催生出了一系列前端模板引擎,比如Smarty.使用Smarty書(shū)寫(xiě)的實(shí)現(xiàn)代碼可讀性非常的高,這使前/后端的分離也更加的高效和便捷.有興趣的同學(xué)可以去搜索了解PHP實(shí)戰(zhàn)
以上這篇PHP/HTML混寫(xiě)的四種方式總結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持維易PHP.PHP實(shí)戰(zhàn)
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/1556.html