首頁 後端開發 php教程 PHP與HTML混寫的方式總結

PHP與HTML混寫的方式總結

Jun 08, 2018 am 09:18 AM

以下為大家帶來一篇PHP與HTML混寫的方式摘要。內容還挺不錯的,現在就分享給大家,也給大家做個參考。

PHP作為一款後端語言,為了輸出給瀏覽器讓瀏覽器呈現出來,無可避免的要輸出HTML程式碼,下文介紹下我用過的三種PHP/HTML混合方法

1、單/雙引號包圍法

#這是最初級的方法了,用法就像下面一樣

#
<?php
 echo &#39;
 <!DOCTYPE html>
 <html>
   <head>
     <title> </title>
   </head>
   <body>
     <span>测试页面</span>
   </body>
 </html>
 &#39;;
?>
登入後複製

這樣是最簡單的一種方法了,直接用單引號包裝上就行了

至於雙引號和單引號的區別,就在於前者解析引號內的變量,而後者不解析引號內的變量,參考下面的例子

#
<?php
 $Content=&#39;Hello!&#39;;
 echo "$Content";
 echo &#39;<br>&#39;;
 echo &#39;$Content&#39;;
 ?>
登入後複製


1 Hello!

2 $Content由此可見,用雙引號包圍的字串中的變數名稱自動解析為了變數值,而用單引號包圍則依然顯示變數名稱

這樣書寫的缺點有兩點

#1、如果輸出內容包含單/雙引號將極難處理,因為PHP無法判斷這個引號是屬於程式的還是輸出內容的,所以會報錯2、這樣書寫一些現代文字編輯器(如SublimeText)將無法對引號包圍的輸出的內容進行語法著色,如果出現一些格式問題將極難發現。圖中為SublimeText3的一張截圖,上面的是正常的著色,下面則是用引號包圍的著色

2、使用HEREDOC/ NOWDOC

HEREDOC和NOWDOC是PHP5.3開始支援的一種新特性,它允許在程式中使用一種自訂的標誌符來包圍文本,而HEREDOC和NOWDOC的關係就類似於雙引號包圍和單引號包圍一樣,

前者解析區塊內的變量,而後者不解析區塊內的變量
下面介紹HEREDOC和NOWDOC的用法

<?php
 $Content=&#39;Hello!&#39;;
 
 //下面写出了一个HEREDOC,其中标识LABEL可以自定义为任何字符串,但要保证开头的标识和结尾的标识一样
 echo <<<LABEL
 $Content
 LABEL;
 //结尾的方法:另起一行,打上LABEL。注意结尾的标识前面和后面不要插入任何字符,空格也不行
 
 echo &#39;<br>&#39;;//为了演示方便换行
 
 //NOWDOC和HEREDOC的书写方式差别在于NOWDOC的标识符需要用单引号包围
 echo <<<&#39;LABEL&#39;
 $Content
 LABEL;
 //其他无异
 
 ?>
登入後複製

也可以參考PHP.net上的關於這兩個的wiki:https://wiki .php.net/rfc/heredoc-with-double-quotes

用HEREDOC/NOWDOC書寫極好的解決了包圍引號的問題,但依然沒有解決語法著色失效的問題 3、HTML中嵌入PHP程式區塊(建議)

這是一種非常合適的辦法,並且這種方法廣泛用在了諸如WordPress模板等場合中。寫起來也比較方便,直接在需要輸出的地方寫上相關的程式碼就行了,就像下面這樣

<?php
 
 //首先在这里写好相关的调用代码
 function OutputTitle(){
   echo &#39;TestPage&#39;;
 }
 function OutputContent(){
   echo &#39;Hello!&#39;;
 }
 
 //然后再下面调用相关函数就可以了
 ?>
 
 <!DOCTYPE html>
 <html>
   <head>
     <title><?php OutputTitle(); ?></title>
   </head>
   <body>
     <span><?php OutputContent(); ?></span>
   </body>
 </html>
登入後複製
##我認為這種方法是在這三種方法中最好的,但是這樣做的缺點是如果這樣的程式碼區塊一多了就會嚴重影響程式閱讀。

4、使用前端模板引擎

#########由於前端的重要性在整個Web開發中日益上升,現在前/後端工程師逐漸在分離成兩個職業,所以說為了確保前/後端工程師能夠相互配合,使前端開發和後端開發出來的東西對接更完美,逐漸催生出了一系列前端模板引擎,例如Smarty。使用Smarty書寫的實作程式碼可讀性非常的高,這使前/後端的分離也更加的高效和便捷。有興趣的同學可以去搜尋了解######以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網! ######相關推薦:#########thinkPHP5.0框架設定格式、載入解析與讀取的方法##################

以上是PHP與HTML混寫的方式總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話如何劫持工作,如何在PHP中減輕它? 會話如何劫持工作,如何在PHP中減輕它? Apr 06, 2025 am 12:02 AM

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

PHP 8.1中的枚舉(枚舉)是什麼? PHP 8.1中的枚舉(枚舉)是什麼? Apr 03, 2025 am 12:05 AM

PHP8.1中的枚舉功能通過定義命名常量增強了代碼的清晰度和類型安全性。 1)枚舉可以是整數、字符串或對象,提高了代碼可讀性和類型安全性。 2)枚舉基於類,支持面向對象特性,如遍歷和反射。 3)枚舉可用於比較和賦值,確保類型安全。 4)枚舉支持添加方法,實現複雜邏輯。 5)嚴格類型檢查和錯誤處理可避免常見錯誤。 6)枚舉減少魔法值,提升可維護性,但需注意性能優化。

描述紮實的原則及其如何應用於PHP的開發。 描述紮實的原則及其如何應用於PHP的開發。 Apr 03, 2025 am 12:04 AM

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

在PHPStorm中如何進行CLI模式的調試? 在PHPStorm中如何進行CLI模式的調試? Apr 01, 2025 pm 02:57 PM

在PHPStorm中如何進行CLI模式的調試?在使用PHPStorm進行開發時,有時我們需要在命令行界面(CLI)模式下調試PHP�...

如何用PHP的cURL庫發送包含JSON數據的POST請求? 如何用PHP的cURL庫發送包含JSON數據的POST請求? Apr 01, 2025 pm 03:12 PM

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

See all articles