溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP/HTML混寫的方法有哪些

發(fā)布時(shí)間:2021-09-29 11:00:57 來源:億速云 閱讀:122 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“PHP/HTML混寫的方法有哪些”,在日常操作中,相信很多人在PHP/HTML混寫的方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”PHP/HTML混寫的方法有哪些”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

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

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

<?php
 echo '
 <!DOCTYPE html>
 <html>
   <head>
     <title> </title>
   </head>
   <body>
     <span>測試頁面</span>
   </body>
 </html>
 ';
?>

這樣是最簡單的一種方法了,直接用單引號(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

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

這樣書寫的缺點(diǎn)有兩點(diǎn)

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

2、這樣書寫一些現(xiàn)代文本編輯器(如SublimeText)將無法對(duì)引號(hào)包圍的輸出的內(nèi)容進(jìn)行語法著色,如果出現(xiàn)一些格式問題將極難發(fā)現(xiàn)。圖中為SublimeText3的一張截圖,上面的是正常的著色,下面則是用引號(hào)包圍的著色

PHP/HTML混寫的方法有哪些

2、使用HEREDOC/NOWDOC

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

下面介紹HEREDOC和NOWDOC的用法

<?php
 $Content='Hello!';
 
 //下面寫出了一個(gè)HEREDOC,其中標(biāo)識(shí)LABEL可以自定義為任何字符串,但要保證開頭的標(biāo)識(shí)和結(jié)尾的標(biāo)識(shí)一樣
 echo <<<LABEL
 $Content
 LABEL;
 //結(jié)尾的方法:另起一行,打上LABEL。注意結(jié)尾的標(biāo)識(shí)前面和后面不要插入任何字符,空格也不行
 
 echo '<br>';//為了演示方便換行
 
 //NOWDOC和HEREDOC的書寫方式差別在于NOWDOC的標(biāo)識(shí)符需要用單引號(hào)包圍
 echo <<<'LABEL'
 $Content
 LABEL;
 //其他無異
 
 ?>

也可以參考PHP.net上的關(guān)于這兩個(gè)的wiki:https://wiki.php.net/rfc/heredoc-with-double-quotes

用HEREDOC/NOWDOC書寫極好的解決了包圍引號(hào)的問題,但依然沒有解決語法著色失效的問題

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

這是一種非常合適的辦法,并且這種方法廣泛用在了諸如WordPress模板等場合中。書寫起來也較為方便,直接在需要輸出的地方寫上相關(guān)的代碼就行了,就像下面這樣

<?php
 
 //首先在這里寫好相關(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開發(fā)中日益上升,現(xiàn)在前/后端工程師逐漸在分離成兩個(gè)職業(yè),所以說為了確保前/后端工程師能夠相互配合,使前端開發(fā)和后端開發(fā)出來的東西對(duì)接更完美,逐漸催生出了一系列前端模板引擎,比如Smarty。使用Smarty書寫的實(shí)現(xiàn)代碼可讀性非常的高,這使前/后端的分離也更加的高效和便捷。有興趣的同學(xué)可以去搜索了解

到此,關(guān)于“PHP/HTML混寫的方法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI