国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

為什么html和php混合使用?html和php混寫(xiě)的四種方式

2020-03-24 18:16:01
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
下面小編就為大家?guī)?lái)一篇PHP/HTML混寫(xiě)的四種方式總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

PHP作為一款后端語(yǔ)言,為了輸出給瀏覽器讓瀏覽器呈現(xiàn)出來(lái),無(wú)可避免的要輸出HTML代碼,下文介紹下我用過(guò)的三種PHP/HTML混編方法

1、單/雙引號(hào)包圍法

這是最初級(jí)的方法了,用法就像下面這樣

<?php echo ' <!DOCTYPE html> <html>   <head>     <title> </title>   </head>   <body>     <span>測(cè)試頁(yè)面</span>   </body> </html> ';?>

這樣是最簡(jiǎn)單的一種方法了,直接用單引號(hào)包裝上就行了

至于雙引號(hào)和單引號(hào)的區(qū)別,就在于前者解析引號(hào)內(nèi)的變量,而后者不解析引號(hào)內(nèi)的變量,參看下面的例子

<?php $Content='Hello!'; echo "$Content"; echo '<br>'; echo '$Content'; ?>

輸出

1 Hello!
2 $Content

由此可見(jiàn),用雙引號(hào)包圍的字符串中的變量名自動(dòng)解析為了變量值,而用單引號(hào)包圍則依然顯示變量名

這樣書(shū)寫(xiě)的缺點(diǎn)有兩點(diǎn)

1、如果輸出內(nèi)容中包含單/雙引號(hào)將極難處理,因?yàn)镻HP無(wú)法判斷這個(gè)引號(hào)是屬于程序的還是輸出內(nèi)容的,所以會(huì)報(bào)錯(cuò)

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)包圍的著色

2、使用HEREDOC/NOWDOC

HEREDOC和NOWDOC是PHP5.3開(kāi)始支持的一種新特性,它允許在程序中使用一種自定義的標(biāo)志符來(lái)包圍文本,而HEREDOC和NOWDOC的關(guān)系就類似于雙引號(hào)包圍和單引號(hào)包圍一樣,前者解析區(qū)塊內(nèi)的變量,而后者不解析區(qū)塊內(nèi)的變量

下面介紹HEREDOC和NOWDOC的用法

<?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-quotes

用HEREDOC/NOWDOC書(shū)寫(xiě)極好的解決了包圍引號(hào)的問(wèn)題,但依然沒(méi)有解決語(yǔ)法著色失效的問(wèn)題

3、HTML中嵌入PHP程序塊(推薦)

這是一種非常合適的辦法,并且這種方法廣泛用在了諸如WordPress模板等場(chǎng)合中。書(shū)寫(xiě)起來(lái)也較為方便,直接在需要輸出的地方寫(xiě)上相關(guā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)重影響程序閱讀。

4、使用前端模板引擎

由于前端的重要性在整個(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é)可以去搜索了解

以上就是為什么html和php混合使用?html和php混寫(xiě)的四種方式的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湛江市| 中西区| 四川省| 永登县| 南陵县| 乌苏市| 广宁县| 陇南市| 娄烦县| 仙游县| 威信县| 青川县| 栾川县| 济阳县| 望奎县| 和顺县| 和硕县| 商洛市| 连州市| 高安市| 尉氏县| 望谟县| 营口市| 印江| 夏津县| 华池县| 冀州市| 柘荣县| 金昌市| 得荣县| 红河县| 宁明县| 确山县| 灵山县| 合山市| 称多县| 大洼县| 乌拉特中旗| 钟祥市| 都匀市| 平江县|