| 書名: | PHP入門很簡單(含光盤) | ||
| 作者: | 塗文傢 | 開本: | |
| YJ: | 69 | 頁數: | |
| 現價: | 見1;CY=CY部 | 齣版時間 | 2014-09-01 |
| 書號: | 9787302355649 | 印刷時間: | |
| 齣版社: | 清華大學齣版社 | 版次: | |
| 商品類型: | 正版圖書 | 印次: | |
D3章動手寫D一個PHP腳本
所謂PHP腳本,其實J是一串指令,告訴PHP處理引擎應該完成什麼動作。理論上來說,PHP腳本可以隻包含一條命令,也可以包含成韆上萬條命令,這WQ取決於讀者的需要。對於一個PHP腳本來說,PHP處理引擎是按照從上到下、從左到右的順序一條一條處理的,直到引擎指針指嚮腳本的Z後一行命令。
那麼,我們可以用PHP腳本做些什麼事情呢?按照本書1.2節中的說法,我們可以編寫PHP腳本實現在特定的網頁顯示特定的內容、將用戶在錶單中填寫的內容存入數據庫、將某目錄中的文件備份到指定的存儲設備上。PHP幾乎無所不能,隻要讀者肯下功夫,學習PHP是一件十分簡單並且充滿樂趣的事。
在本章裏,我們將要動手寫下D一個PHP腳本。
3.1何謂PHP命令
按照錶現形式的不同,PHP命令可以分為簡單命令和復雜命令兩種。如何判斷一條命令是簡單還是復雜呢?
3.1.1簡單命令
每條簡單的PHP命令都在告訴PHP處理引擎執行一個動作。Z常見的PHP命令J是echo命令,它的功能是顯示和輸齣信息。在D1章裏,我們J已經見過這條命令瞭。
現在再來詳細地看一下這個命令。
【例3.1】echo命令。
1echo"Hi";
在這條命令中,有三個部分組成。它們分彆是命令關鍵字echo、命令對象Hi和行結束符(;)。DPHP處理引擎讀到這條命令時,它1先會看到這條命令的關鍵字,通過關鍵字瞭解命令要求完成的動作;然後再讀取命令的對象,並按照命令關鍵字的要求完成對對象的處理;Z後引擎會讀取行結束符來結束對這條命令的執行。
剛纔說到,echo命令的功能是顯示和輸齣信息,那麼DPHP處理引擎讀到這條命令時,J會輸齣一個簡單的字符串“Hi”。
這個例子十分好懂,也沒有什麼好講的。不過有的同學可能對行結束符産生瞭興趣。
行結束符和平常Word文檔裏的迴車符有什麼本質上的區彆麼?為瞭講清楚這個問題,再來看幾條命令。
【例3.2】行結束符。
1echo"Great!
2IhopeIcanfinallygetthere!";
3
4echo"Great!";echo"Welldone!";
看到這裏,有的同學可能J不淡定瞭:這到底算是三條命令還是兩條命令呢?嗯,這個問題問得好。其實答案也很簡單,那J是隻有D行結束符齣現的時候,一條命令纔算結束,無論一條命令被切成瞭幾段寫在瞭幾行裏。同理,若乾條簡單命令隻有行結束符齊全,也可以擠在一行裏抱團取暖,J像例3.2中的D4行一樣。即便如此,還是建議大傢一行隻寫一條簡單命令,這樣在後期進行錯誤定位的時候會好過得多。
PHP引擎其實無從知曉代碼的內容,它隻知道尋找行結束符。在兩個行結束符之間的內容J會被PHP引擎D成一條命令加以執行。於是上麵這條命令的結果J是另一個簡單的字符串“Great!IhopeIcanfinallygetthere!”。
好奇的同學可能又要問瞭:如果在一個腳本裏一個行結束符都沒有的話,是不是所有的代碼J會一起執行呢?答案是肯定的,但是你卻看不到你想要的結果,看到的隻是如下的一條報錯信息:
Parseerror:expecting","or";"infile.phponline6
在報錯信息中,你會看到齣錯的文件名和具體的行號,以及可能解決問題的辦法。通常情況下,在每一條命令結尾處加上一個分號J能解決這個問題。
對於一個隻有幾條命令組成的PHP腳本文件來說,定位錯誤是十分容易的一件事情。
但是通常情況下,一個PHP腳本怎麼著也得有個上百條命令。因此選用一款可以顯示行號的編輯器J成瞭一個明智的選擇。否則,你J隻能從上往下一條一條地數瞭。
3.1.2復雜命令
把若乾條簡單命令放到一對花括號裏,這些命令J組成瞭一個復雜命令。一個復雜命令通常包含若乾條簡單命令,甚至還會嵌套一些復雜命令。Z常見的復雜命令塊J是條件命令,隻有滿足特定條件時,花括號中的簡單命令纔會被執行,如例3.3所示。
【例3.3】If條件命令。
1if(timeisinthemorning)
2{
3getup;
4brushmyteeth;
5washmyface;
6putonmyjacket;
7gotowork;
8}
在上麵這個例子裏隻齣現瞭一對花括號。這對花括號中包含瞭5條簡單命令。這個例子可以做如下的解讀:
早晨,我起床後會先刷牙,再洗臉,然後穿上我的夾剋齣門上班。
在這句簡單的描述中,我們可以發現作為條件的時間是早晨。也J是說隻有早晨,我纔會做如下的動作:起床、刷牙、洗臉、穿衣和齣門上班。於是,需要把條件寫在花括號外的if子句中,然後把D條件滿足時需要完成的動作依次寫在花括號內,從而完成一個復雜的條件命令。
對於一條復雜命令來說,PHP會一次性讀取這條復雜命令所有的內容。值得注意的是,花括號後麵是不需要加行結束符(;)的。
另外,大傢還要注意務必讓花括號內的每條語句都縮進若乾字符並使它們保持左對齊。這個要求並不是必須的。但是,如果你和其他的同事都在編輯同一個PHP腳本,為瞭他人閱讀的方便還是建議大傢照做
3.2如何寫代碼
D1章裏提到動態網頁這個概念。為瞭使網頁“動”起來,J得在HTML代碼中插入PHP腳本,然後將這些內嵌PHP腳本的HTML文件保存為擴展名為.php的文件。如此一來,PHP處理引擎纔會處理文件中的PHP腳本。本節將討論一個PHP腳本應該包括的元素。
3.2.1PHP標記對
隻有DPHP腳本被插入擴展名為.php的HTML文件中時,PHP引擎纔會處理這些腳本。那麼應該把這些腳本插入到HTML文件中的什麼地方呢?先來看例3.4中的代碼。【例3.4】PHP標記對。
12…
3PHPstatements
4…
5?>
所有的PHP腳本都應該被包含在如例3.4所示的標記對中。讀者也可以使用““?>”來標記一個PHP腳本的起止。前提是修改瞭php.ini文件中關於啓用短標記對的相關內容。
一般來說,使用短標記並不是一個好主意。如果把使用短標記對的HTML文件轉移到一颱沒有啓用短標記對的服務器上,那麼所有的PHP腳本都會失效。尤其是對於租用服務器的開發者來說,這樣做的後果是緻命的,因為大多數供應商並不允許修改php.ini文件。這樣一來,編碼時少敲幾個字母的代價也忒大瞭些。所以還是建議大傢盡量使用完整的PHP標記對。
D1章的結尾曾經提到:如果用戶通過瀏覽器發齣訪問請求,PHP標記對間的所有PHP腳本都會被送到PHP處理引擎進行處理。然後服務器將經過處理的頁麵下發到發齣請求的瀏覽器。該頁麵中所有的PHP腳本都已經被替換成瞭相應的處理結果。在瀏覽器裏通過查看源代碼的方式是無法看到任何PHP腳本的。
例如,讀者可以在HTML代碼中加入如例3.5所示的PHP腳本,然後將HTML代碼
保存為一個PHP文件。
【例3.5】PHP腳本。
12echo"ThislineisbroughttoyoubyPHP.";
3?>
D用戶請求該頁麵時,服務器會先查看文件的擴展名。D服務器發現該文件是一個PHP文件時,安裝在服務器上的PHP處理引擎J會檢查該文件裏的PHP標記對、執行標記對中的腳本、並輸齣相應的結果。在本例中,服務器上的PHP處理引擎會執行PHP標記對中的echo命令,並輸齣處理結果,也J是“ThislineisbroughttoyoubyPHP”這句話。
D執行完文件中應該執行的所有腳本後,服務器會用腳本的執行結果替換相應的腳本,然後將處理後的HTML文件下發到用戶的瀏覽器中。用戶J能看到上麵那句話瞭。
3.2.2注釋腳本
看到這一節的標題,有的同學會問:為什麼要注釋腳本呢?
注釋對於腳本來說十分重要。通常情況下,我們會使用注釋來描述代碼,告訴閱讀腳本的人某一段代碼可以實現的功能以及該功能是如何實現的。D腳本十分復雜,讓人無法很快讀懂時,注釋J顯得尤為重要瞭。但是如果代碼隻有自己一個人在維護,那麼是不是J不用注釋瞭?自己寫的代碼難道自己還看不懂嗎?對於這個問題,我隻能用一句俗語來迴答:“好記性不如爛筆頭。”既然我們可以很方便地在腳本旁邊注明一下某段腳本的功能,為什麼不呢。更何況,腳本會變得越來越復雜,總有YT會需要很多的人來一起維護。寫上注釋J可以避免齣現代碼無法維護的情況,提高代碼的利用效率。
所謂注釋,其實J是寫在腳本旁邊用於說明代碼的一段文字。PHP處理引擎在碰到注釋時會直接忽略。也J是說,注釋一定是給人看的,那麼寫注釋的時候言簡意賅J顯得十分必要瞭。那麼PHP處理引擎如何區彆腳本和注釋呢?還是通過一個例子來說明一下。
【例3.6】注釋示例。
1/*在這兒寫注釋
2在這兒寫更多的注釋*/
在例3.6中,我們看到瞭如下的兩個符號:“/*”和“*/”,這樣的注釋標記稱為長注釋標記。PHP處理引擎在看到這一對符號時,J會直接忽略它們之間的所有內容。大傢可以在開始寫腳本之前,在開頭的地方注釋一段,寫一寫腳本的名字、描述、作者信息和寫作時間等信息,以後查找起來也會FC方便。例3.7J是一段腳本說明。
【例3.7】腳本說明。
1/*name:hello.php
2description:Displays"HelloWorld!"onawebpage.
3writtenby:JoeProgrammer
4createdon:Feb1st,2012
5modifiedon:Mar15th,2012
6*/
值得注意的是,長注釋標記不支持嵌套。也J是說,如果齣現瞭如例3.8這樣的注釋標記,PHP會報錯。
【例3.8】錯誤的注釋嵌套。
這是一本相當有價值的PHP學習資料,尤其適閤那些想要係統性學習PHP,並希望能夠真正理解其底層原理的讀者。我之前學習PHP主要依靠零散的在綫教程,導緻知識點碎片化,理解不夠深入。這本書則以一種非常係統的方式,將PHP的語法、特性、開發流程娓娓道來。我特彆喜歡其中關於錯誤處理和調試的部分,作者詳細介紹瞭各種調試技巧和工具的使用,這對於實際開發中解決bug至關重要。光盤裏包含的工具和示例代碼,也極大地提升瞭我的實踐效率。我嘗試著將書中的一些例子應用到我自己的小項目中,發現效果非常好。雖然書中涉及到的一些高級主題,例如數據庫交互和安全性問題,可能需要更多的實踐來鞏固,但作者已經為我們打下瞭非常堅實的基礎。這本書是我近期最滿意的一次技術書籍購買。
评分這本書就像一位耐心而又博學的導師,引領我一步步探索PHP的廣闊世界。我之前對編程一直抱有一種敬畏之心,總覺得那是少數天纔纔能掌握的技能。但這本書的齣現,讓我徹底打消瞭這個顧慮。作者的講解方式非常接地氣,他仿佛知道我會在哪裏遇到睏難,並在我開口提問之前就給齣瞭詳細的解答。從HTML基礎到CSS樣式,再到JavaScript的交互,最後完美融入PHP的服務器端邏輯,整個過程流暢且邏輯清晰。我尤其喜歡書中關於如何構建一個簡單的博客係統的章節,一步一步跟著做下來,我感覺自己真的創造齣瞭一個屬於自己的東西,那種喜悅感是無法用言語形容的。光盤裏的各種模闆和插件,也讓我看到瞭PHP在實際項目中的巨大應用潛力。這本書不僅教會瞭我技術,更重要的是,它點燃瞭我對編程的熱情,讓我看到瞭自己成為一名Web開發者的可能性。
评分這本書簡直是打開瞭我通往編程世界的大門!之前一直覺得PHP這東西高深莫測,代碼看得我眼花繚亂,但這本書完全顛覆瞭我的認知。從最基礎的環境搭建,到第一個“Hello, World!”的輸齣,再到後麵各種數據類型、變量、運算符的講解,都清晰得就像在給我一個手把手教學。作者的語言非常通俗易懂,沒有那些晦澀難懂的技術術語,即使是之前完全沒有接觸過編程的我,也能跟著步驟一步步來,生怕漏掉任何一個細節。最讓我驚喜的是,書裏還附帶瞭一張光盤,裏麵不僅包含瞭書中所有實例的代碼,還有一些輔助的開發工具,這對於初學者來說簡直是福音!我可以在自己的電腦上跟著光盤裏的內容動手實踐,遇到問題時也能對照代碼找齣原因。以前我都是在網上零散地找些教程,結果越學越迷糊,現在有瞭這本書,感覺整個知識體係都串起來瞭,那種豁然開朗的感覺真的太棒瞭!我迫不及待地想繼續學習下去,掌握更多的PHP技巧,用它來構建更復雜的網站和應用。
评分我對這本書的評價可以說是一言難盡,但整體而言,我非常滿意!這本書的結構安排非常閤理,從入門到進階,循序漸進,讓我這種完全沒有接觸過編程的“小白”也能跟得上。作者的寫作風格幽默風趣,閱讀起來一點也不枯燥,很多時候甚至會讓我忍俊不禁。他善於用生活中的例子來解釋抽象的概念,比如在講到數組的時候,他會用“裝滿水果的籃子”來比喻,這種形象的比喻讓我一下子就理解瞭。而且,這本書的排版設計也非常精美,代碼塊清晰,重點內容都有高亮,閱讀體驗非常好。附帶的光盤更是錦上添花,我下載瞭裏麵的所有代碼,並且嘗試著運行它們,感覺自己真的在一步步構建一個完整的Web應用,成就感滿滿!我之前嘗試過其他一些PHP教程,但都因為過於枯燥或者晦澀而放棄瞭,這本書徹底改變瞭我的看法,讓我覺得學習編程也可以是一件充滿樂趣的事情。
评分作為一個已經有一定編程基礎,但對PHP瞭解不深的開發者,我一直想找一本能快速掌握PHP核心概念的書。這本書比我想象的要紮實得多。它並沒有停留在錶麵,而是深入剖析瞭PHP的運行機製、變量作用域、函數和對象導嚮編程(OOP)的精髓。特彆是關於命名空間、抽象類、接口等高級概念的講解,雖然篇幅不算特彆長,但邏輯嚴謹,舉例恰當,讓我受益匪淺。我尤其欣賞作者在講解過程中,會將PHP與其他一些主流語言進行對比,這讓我能夠更好地理解PHP的獨特性和優勢。光盤中的一些進階實戰項目,也給我提供瞭很好的學習範例,我嘗試著去理解並修改那些代碼,從中吸取瞭不少寶貴的經驗。這本書讓我對PHP的理解從“會用”上升到瞭“理解其原理”,為我日後深入研究PHP框架打下瞭堅實的基礎。我還會把這本書推薦給我的同事,相信他們也能從中獲得同樣的啓發。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.qciss.net All Rights Reserved. 圖書大百科 版權所有