首頁 後端開發 php教程 PHP學習寶典-第四章

PHP學習寶典-第四章

Dec 23, 2016 am 09:41 AM
php學習

將PHP嵌入HTML

本章重點

◆ 轉入PHP模式

◆ 選擇PHP的捲標樣式

◆ 使用PHP寫第一個程式
World
經過前面幾章的初步介紹,相信你現在就可以一始寫PHP的script了。在本章中我們將進一步了解PHP模式,PHP卷標以及其它相關檔案的含括(include)和請求(require)。讀者將從這裡寫出第一個簡單的PHP程式。

HTMK與PHP完成相容

PHP可以和HTML完全地混合運用,實際上PHP通常是必須嵌入在HTML內使用的。你稍後會看到,PHP能夠使用HTML標準中一些靈活的語法,例如窗體(form),來處理許多相當好用的性質。

在客戶端與HTML相容的所有一切同樣子也和PHP相容。 PHP不會理會其它的JavaScript 程式碼、對音樂和動書的呼叫、apples或客戶端上的其它一切。 PHP都會忽略它們,這部分會由Web伺服器把它們傳遞到客戶端。

其實讀者你可以使用任何方法開發Web網頁,然後再把PHP程式碼加上去。如果你已習慣是用小組團隊的方式工作,並使用大型多媒體繪圖套件來開發每個頁面,如果你願意,同樣也可以繼續延用這種方式。從實用的觀點來看,你無須改變工具或工作流程,就按照以往一直使用的方式繼續下去,在最後再添加伺服端功能即可。

跳出HTML模式

我們要怎麼在HTML中標示出PHP的區段呢?其實透過在每個PHP區段的啟始和結尾時使用特殊的PHP標籤,就能夠做到這一點要求。這個過程就稱為「跳出HTML(escaping from HTML)」或所謂的「跳進PHP(escaping into PHP)」。

我們不是為了要讓你混淆,這裡的跳(escpae)與一般PHP所使用的eacape不同,那些是在字符串內特殊字符(例如tab或是換行字符)之前使用反斜線的用法。

在這兩個PHP標籤之間的所有內容都會藉由PHP解析器辨識理解為PHP程式碼。這兩個標籤以外的所有內容就與伺服器無關了,就會直接傳給客戶端,由客戶端弄清楚它是HTML、JavaScript或是其它什麼內容。

PHP標籤有四種類型,在使用它們時分別有不同的原。不過有些是因為個人的喜好問題、或是因為程式設計師用什麼會感到比較舒服的問題,或是上一個團隊自己決定要使用的設定。

標準的PHP標籤

最常使用的PHP標籤如下:

 
如果使用這種格式,就可發十分肯定所用的標籤能夠被正確地直譯。除百非有很好的理由才去選取用其它的寫法格式,否則最好就這種標準寫法。其它任何PHP tag寫法可能在未來都會被取消,這是唯一被認為安全的寫法。

簡短起始(SGML格式)標籤

簡短起始標籤如下圖:

 

這是最簡單的表示方式。由於這種方式的輸入次數較少,會吸引那些在每個script中頻繁切換進出HTML的使用者,然而使用這種短標籤也是要付出代價的,必須做到下面的三種方式之一來讓PHP辨識該標籤:

1. 在建構PHP時,要記得選擇「--enable-short-tags」的設定選項。

2. 在php.ini檔案中啟用short_open_tag設定。但在使用這個選項時,必須禁止XML和PHP一併使用,這是因為XML的tag也是使用這種語法。

還有一個可以用來使用簡短語法的方式:使用short_open()函式,但是這種用法在PHP 4以後已不再提供使用。

有許多是不要使用簡短卷標語法的原因,最主要的原因就是此種語法與XML不相容,又因為XHTML也是一種XML?,所以將使得你的PHP程式將無法使用在XHTML檔案內。使用簡短卷標的PHP程序是比較不空易視覺上的辨識出來,許多程序代碼顏色強調的工具並不會支持這種語法,入門的設計者應該在所有可能的地方使用標準的捲標語法。

簡短村簽過去是許多設計高手習慣以為常用來使用PHP的方式,如今PHP開發團隊努力平衡於得供眾多用戶安裝方式的標準與一致性語法,雖然過去已經有大量的程序代碼使用舊式文法,但因為XML變成Web開發越來越中心的技術,簡短標籤將會在未來淡化,所以你必須給自己一個方便馬上使用標準的語法。

如果你已經養好習慣要避免使用簡短標籤格式,記得在你的php.ini檔案中取消它,你會在你忘記使用標準格式的地方響應一個錯誤訊息。

ASP格式的標籤

ASP格式的捲標是Microsoft Active Server Pages用來隱藏程序段落和卷標,ASP格式的捲標如下所示:

 

使用FrontPage做為開發工具的使用者最常選擇這種格式。如果要使用這種ASP格式的標籤,則必須在php.ini檔案中設定配置該選項。很顯然地,如果你使用ASP寫法格式的標籤和以“.asp ”為擴展名(之前便工作於ASP網站的人可能希望如此),則需要在IIS伺服器上先把ASP功能關掉,否則兩種程序引擎都會嘗試解析相同程序段落而產生不可預期的結果。

HTML的script標籤

這種標籤的寫法如下所示:

 
雖然這樣很有效率,並且也以能夠迴避FrontPage的問題,但在某些情況下還是會很麻煩,例如在迅速蹦現(php-in)變數的替換上就會遇到麻煩。尤其是,如果網站上使用了很多JavaScript,請務必更加小心,因為結束script的標籤很容易造成兩個意義的混淆。 HTML的script標籤最適合用於PHP程式碼差異很大的時候。

第一個程式「Hello World」

現在我們準備寫第一個PHP程式。先在自己喜歡使用的編輯器中開啟一個新檔案,鍵入以下內容:

PHP學習寶典-第四章

在大多數瀏覽器中,除了PHP這部分,其它內容都不是很需要的。然而還是應該養成使用標準HTML結構一嵌入PHP的好習慣。

如果看不到非常類似圖4-1所示的輸出,那就是有問題了,很可能是某種安裝或設定上出也問題。

PHP學習寶典-第四章

回顧第三章的內容即可以了解安癍上的說明,向後翻閱到第三十七章可以找到相關的設定與配置選項。另外在第十五章分析了一些常見的問題並沒有提供錯誤問題相關資訊。

進出PHP模式

在PHP的script內任一時刻,你可能是處於PHP模式之中,劃是處於PHP模式之外的HTML內。這裡沒有其它中間的狀態,PHP標籤內的所有內容就是PHP程式碼,標籤外的所有內容都有是普通HTML內容。

可以依自己高興使用PHP卷標隨時轉入PHP模式,例如:

PHP學習寶典-第四章

請注意在第一個PHP模式實例下發生的情況,這裡有個數指定了值,到了第二段PHP程式碼該指定仍屬有效。在下一章你會學到更多進出PHP模式時變數的相關使用。在第十四章還會學到使用PHP模式的不同型式風格。

檔案含括(include)

把PHP加到HTML中的另一種方法是把PHP程式碼放入單獨的檔案,然後使用PHP的include 函式呼叫它。共有四種相關的含括函數:

PHP學習寶典-第四章

先在前版本的PHP內,include與require函式和功能與速度有顯著的差異,這將不再成立,這兩類函數只有在錯誤所時丟出錯誤訊息的型別不同, include()函式與include_once()函式只會在錯誤時發出警告,但是require()函式與require_once()函式會發出嚴重錯誤而中斷程序。

如同函式的命名所提及的,include_once()和require_once()與名稱只有include()和require()不同的地方在於它們只會允許每個PHP程式中只含括一次該檔案,這在你含括內含PHP函數的檔案時是極度有用的。因為重新定義函數將會自動導致嚴重錯誤。在大型PHP系統內,常常需要含括一些本身也有含括其它檔案的檔案,但是要追蹤你之前是否已經含括過某特定檔案是困難的,但是一但使用include_once()或是require_once()則不需要如此。

你要如何決定是否要使用include()函式呢?基本上是你必須決定是否堅持自己寫好的程序來避免嚴重錯誤的痛苦,或者在你的程序中即使出現常見錯誤仍無訪,最嚴重的方式就是使用require(),它會在你的程序不完善時馬是中斷程序,最不嚴謹的就是include_once(),它會自然隱藏你的一些壞的程序習慣。

最常見的PHP include功能就是在網站的所有網頁加入首頁與頁尾。

例如現在有一個簡單的頁首檔案(稱為header.inc)如下所示:

PHP學習寶典-第四章

顯然的,這樣單一改變簡化了整個網站的維護與規模,現在如果你要使用不同的視覺呈現或是如果你要更新版權說明的話,你只要更改一個檔案而不需要更改好幾個HTML網頁的相同程序片段。

當你要含括檔案時,記得在你php.ini檔案內的inculde_path指令設定正確,只要藉由使用正確的指令你可以含括來自網站上層次或你的Web結構之外網站的檔案,請參閱第37章更詳細說明。

如同你可以在上述程式所見一樣,PHP的include()函式只會所含括的檔案以文字的方式傳送,許多人以為由於include()函式是在PHP模式內使用的,所以含括進的部分也會屬於PHP模式,這並不是真的,事實上伺服器會在含括號檔案一開始跳回HTML模式,並在含括檔案結束後悄悄返回PHP模式,並馬上與分號結合。

你永遠都要在想要使用PHP程式時使用PHP的起始與結束標籤,任何被含括的檔案若想要以PHP執行的話都必須加入合法的標籤,如果整個檔案都屬於PHP部分(常見於使用函數的檔案),整個檔案都必須以PHP標籤包住。

現在我們來看底下檔案,database.inc:

PHP學習寶典-第四章

我們無法充分在此彈調:如果你在含括PHP檔案發生問題時,尤其是如果你所看見的結果並非預期或看不見應該看到的部分時,請絕對小心在你有含括檔案內前後都有加上PHP標籤。

如果你愚蠢的只將上述片段的檔案含括進PHP程式的話,你會看到此資料庫變數會變成文字顯示在頁面上,因為你忽略了使用PHP標籤,解析器以為這個段落是HTML ,正確database.inc的寫法應該如下所示:

PHP學習寶典-第四章

對於所有含括其它檔案,你必須確保在最後一行沒有使用換行,記住任何PHP之外的部分都被看成HTML部分,甚至一個空白行也是如此,PHP標籤之外的空白行或是空格符將會被輸出,如果你在不能使用輸出的時候含括了這個檔案,例如在使用HTTP header之前,你的程式會出現一個大大關於輸出流已經在含括檔案內使用的錯誤訊息,請參閱第15章更詳細的部分。

摘要

PHP很容易嵌入到HTML中,你可以使用任何一種自己習慣使用的HTML產生方法,然後再加入PHP程式碼區段到其中。加上的PHP程式碼區段可以是只有一點點的註解單一數字,也可以是很長很長的程式碼區段。

每個PHP區塊,無論長短都要有PHP標籤。雖然本章介紹了幾種寫法格式的PHP標籤,但初學者應該還是要使用標準規範的那一種標籤寫法。你也可以使用include()或require()函式,在檔案中將PHP檔案含括入內,但被含括檔案的內容只有圍在PHP標籤內時才會被識別為PHP程式碼,這一點要特別留意。

 以上就是PHP學習寶典-第四章的內容,更多相關內容請關注PHP中文網(www.php.cn)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
如何學習PHP開發? 如何學習PHP開發? Jun 12, 2023 am 08:09 AM

隨著網路的發展,動態網頁的需求越來越大。而PHP作為一種主流的程式語言,被廣泛應用於Web開發中。那麼,對於初學者來說,如何學習PHP開發呢?一、了解PHP的基礎知識PHP是一種腳本語言,可以直接嵌入HTML程式碼中,透過Web伺服器進行解析運作。因此,在學習PHP之前,可以先了解HTML、CSS、JavaScript等前端技術基礎,以便更能理解PHP的作

PHP學習筆記:模組化開發與程式碼重複使用 PHP學習筆記:模組化開發與程式碼重複使用 Oct 10, 2023 pm 12:58 PM

PHP學習筆記:模組化開發與程式碼重複使用引言:在軟體開發中,模組化開發與程式碼重複使用是相當重要的概念。模組化開發可以將複雜的系統分解成可管理的小模組,提高開發效率和程式碼可維護性;而程式碼重複使用則可以減少冗餘程式碼,提高程式碼的重用性。在PHP開發中,我們可以透過一些技術手段來實現模組化開發和程式碼重複使用。本篇文章將介紹一些常用的技術和具體程式碼範例,幫助讀者更好地理解和應用這些概

PHP學習筆記:網路爬蟲與資料收集 PHP學習筆記:網路爬蟲與資料收集 Oct 08, 2023 pm 12:04 PM

PHP學習筆記:網路爬蟲與資料收集引言:網路爬蟲是一種自動從網路上抓取資料的工具,它可以模擬人的行為,瀏覽網頁並收集所需的資料。 PHP作為一種流行的伺服器端腳本語言,在網路爬蟲和資料擷取領域也發揮了重要的作用。本文將介紹如何使用PHP編寫網路爬蟲,並提供實際的程式碼範例。一、網路爬蟲的基本原理網路爬蟲的基本原理是透過發送HTTP請求,接收並解析伺服器回應的H

PHP學習筆記:效能分析與調優 PHP學習筆記:效能分析與調優 Oct 08, 2023 pm 03:21 PM

PHP學習筆記:效能分析與調優引言:在Web開發中,效能是一個非常關鍵的因素。一個高效能的網站能夠提供更好的使用者體驗,提高使用者留存率,增加業務收入。而在PHP開發中,效能的最佳化是一個常見且重要的問題。本文將介紹PHP中效能分析與調優的方法,並提供具體的程式碼範例,幫助讀者更能理解並運用這些技巧。一、效能分析的工具Xdebug擴充Xdebug是一款功能強大的P

2023年,學習PHP的最佳途徑是什麼? 2023年,學習PHP的最佳途徑是什麼? Sep 10, 2023 pm 09:16 PM

2023年,學習PHP的最佳途徑是什麼?隨著網路的快速發展,電腦程式設計成為了一項具有極高就業前景的技能。而在眾多的程式語言中,PHP是一門被廣泛應用於網頁開發的語言。想要學習PHP,了解最佳的學習途徑是非常重要的。 PHP是一種開源的、伺服器端腳本語言,它被用來開發動態網站和應用程式。相較於其他語言,PHP具有較低的學習曲線和廣泛的應用領域,使其成為初學者的

學習PHP中的視訊特效和濾鏡處理函數方法 學習PHP中的視訊特效和濾鏡處理函數方法 Aug 07, 2023 pm 11:53 PM

學習PHP中的視訊特效和濾鏡處理函數方法PHP是一種強大的程式語言,廣泛應用於Web開發領域。隨著網站設計的發展,視訊特效和濾鏡處理越來越受歡迎。本文將介紹如何使用PHP實現視訊特效和濾鏡處理,以及一些常用的函數方法。一、安裝ffmpeg擴充功能要處理視頻,我們需要安裝ffmpeg擴充。透過這個擴展,我們可以在PHP中直接呼叫ffmpeg指令進行視訊處理。安裝過程

PHP學習筆記:表單處理與資料驗證 PHP學習筆記:表單處理與資料驗證 Oct 09, 2023 am 08:52 AM

PHP學習筆記:表單處理與資料驗證在網頁開發中,表單是使用者與網站互動的重要元件之一。當使用者在網站上填寫表單並提交資料時,網站需要對提交的資料進行處理和驗證,確保資料的準確性和安全性。本文將介紹如何使用PHP來處理表單和進行資料驗證,並提供具體的程式碼範例。表單提交和資料預處理在HTML中,我們需要使用<form>標籤來建立表單,並指定表單的

PHP學習筆記:前後端分離與API設計 PHP學習筆記:前後端分離與API設計 Oct 08, 2023 am 09:42 AM

PHP學習筆記:前後端分離與API設計概述:隨著互聯網的不斷發展和用戶需求的不斷增加,前後端分離的開發模式越來越受到開發者的重視。前後端分離是指將前端和後端的開發分開離開來,透過API進行資料交互,實現開發的高效能和靈活性。本文將介紹前後端分離的概念,以及如何設計API。前後端分離的概念:傳統的Web開發模式是前後端耦合的,即前端和後端的開發是在同一個專案中進

See all articles