亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP/HTML混寫(xiě)的四種方式總結(jié)

 更新時(shí)間:2017年02月27日 09:24:03   投稿:jingxian  
下面小編就為大家?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)系就類(lèi)似于雙引號(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é)可以去搜索了解

以上這篇PHP/HTML混寫(xiě)的四種方式總結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論