PHP開發環境搭建及網站制作

時間:2022-04-09 03:54:00

導語:PHP開發環境搭建及網站制作一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

PHP開發環境搭建及網站制作

隨著Web技術的發展,采用傳統營銷和網絡營銷相結合的方式已成為各類公司發展的必然選擇。在網絡營銷中比較有效的手段是建立一個適合自己公司規模的網站[1-2]。目前網站開發的主流平臺有LAMP(Linux操作系統、Apache網絡服務器、MySQL數據庫、php編程語言),J2EE和“.Net”商業軟件。由于PHP、MYSQL具有免費、開源等多方面優點,因此受到整個IT界的關注。從網站的流量來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強大的網站解決方案[3]。

本文將結合一個職場咨詢網站———卓企網的開發過程,對基于PHP與MYSQL數據庫相結合的網站開發所涉及的開發環境,需求分析,功能模塊,數據庫操作與安全等進行分析與討論。

1開發環境分析

1.1開發語言的選擇

作為當今網站開發的3種主流語言:ASP.NET、PHP、JSP,它們存在的各自優點與不足如表1所示[4-5]。本項目確定以PHP為開發的語言環境的原因:

1)免費。因為項目較小不適合采用付費的ASP.NET和JSP的開發平臺。

2)支持性強。中國現在很多中小型網站甚至一些大型網站,如百度、新浪等都加入了PHP的大家庭,從而能更簡單地解決開發過程中遇到的各種難題。

3)移植性好。盡管最初是被設計用于基于Linux的ApacheWeb服務器系統,但現在的PHP已經被移植到了任何操作系統并兼容任何標準Web服務器軟件,即絕大部分的Web主機提供商都會支持PHP,因此根據需要更改主機將會非常方便。

4)語言簡單。由于PHP同C編程語言有很多相似之處,對于熟悉相關語法的開發人員來說,PHP則非常容易上手。

5)發展迅速。由于是開放源代碼產品,PHP將繼續快速發展,更為重要的是相關漏洞補丁將免費地定期植入到核心庫中。此外還有PHP實現對加密的支持以及對各種數據庫服務器的支持等。

1.2開發環境搭建

目前,基于PHP的開發平臺較多。一般開發人員喜歡LAMP的開發環境,有一定開發經驗的人可以選擇相關的服務器、數據庫、數據庫管理軟件和操作系統來構建自己的PHP開發平臺。為了便于開發人員更好地利用PHP來開發網站,市場上也出現了多種集成的PHP開發環境,如AMPS-erv,WAMP,XMAPP,AppServ,PHPStudy。目前主流的是ZendStudioPHP集成開發環境。ZendStudio包括了PHP開發所有必須的部件,通過一整套編輯、調試、分析、優化和數據庫工具。ZendStudio縮短了開發周期,簡化了復雜的應用方案,已經成為目前最強大的PHP集成開發環境。ZendStudio的強大之處,除了一般編輯器所具有的代碼高亮、語法自動縮進、書簽功能外,其內置的調試器可以支持本地和遠程(debugserv-er)2種調試模式,支持諸如跟蹤變量、單步運行、斷點、堆棧信息、函數調用、查看實時輸出等多種高級調試功能。另外,最新版(ZendStudio5.5.1)對中文的支持也是非常穩定的[6]。

1.3環境搭建注意事項

對于對PHP開發環境不甚了解的開發人員建議不要自己搭配開發環境,各軟件的版本之間支持性不一樣有可能會造成版本沖突,而且復雜的配置問題也很難解決。此外在正式開發之前還應注意如下問題。

1)PHP語言版本問題。開發前,必須確定要使用的版本和服務器所支持的版本是否一致。現在主要存在2種版本:PHP4和PHP5。不同版本對SESSION、異常處理、函數、變量有效范圍和支持的數據類型等都有不同。前期若不注意這些問題會給后期的開發帶來很多不必要的麻煩與不安全。

2)服務器問題。Windows平臺上,用PHP寫的程序要求是部署在apache服務器上。如果部署在IIS上,可能由于IIS對PHP支持不是很好,經常出現一些莫名其妙的問題。并且IIS使用中,有些設置必須要手工修改。比如上傳文件時,需要設置可寫權限,還要重新設置上傳文件大小,比較煩瑣。而使用apache服務器則不存在這些問題。

3)數據庫問題。PHP可以使用的數據庫管理系統有MySQL、ORACLE等。MySQL由于開源、免費、小巧、高效而受到開發人員一致的青睞。對于中、小型應用系統,MySQL是一款非常理想的數據庫服務器軟件。除了支持標準的ANSISQL語句外,它還支持多種平臺。在Unix/Linux系統上,MySQL也支持多線程運行方式。和PHP、Apache一樣,MySQL也屬于開放源代碼軟件。MySQL對其提供權限訪問、建立、刪除等一系列支持,使之成為中小型PHP網站的首選。

2基于PHP語言的開發模型

PHP語言以其免費、開源等多方面優點,逐步成為中小型企業網站開發語言的首選。具體開發步驟如下:

2.1需求分析

一個網站項目的確立是建立在各種各樣的需求上面的,這種需求往往來自于客戶的實際需求或者出于公司自身發展的需要,其中客戶的實際需求占了絕大部分。面對網站開發擁有不同知識層面的客戶,項目負責人對用戶需求的理解程度,在很大程度上決定了此類網站開發項目的成敗,因此,如何更好地的了解、分析、明確用戶需求,并且能夠準確、清晰以文檔的形式表達給參與項目開發的每個成員,保證開發過程按照滿足用戶需求為目的正確項目開發方向進行,是每個網站開發項目管理者需要面對的問題。除了基本的用戶需求分析要點(模塊、流程、帶寬、最大同時訪問量等)外,需求分析還需要注意以下問題:①需求分析來自項目接收方的負責人或由其確定或認可;②需求最好以文件方式確定下來;③與需求方進行深入有效的分析與討論,告知其需求的可行性和代價。

2.2功能模塊設計

根據需求得出的需求報告在與客戶進行討論之后得到的雙方都認可的確定稿之后,網站的開發人員根據高內聚低耦合的思想結合相關的知識與經驗結合成若干大模塊。

2.3數據庫設計與實施

包含需求分析、概念設計、邏輯設計、物理設計、系統實施、運行與維護等多個階段。在數據庫設計與實施的各個環節應注意以下問題:網站數據庫是網站的核心,數據安全性至關重要。數據損壞、丟失、被非法復制都會引起很多不必要的麻煩,而且有時會帶來非常大的不良影響與損失,甚至觸犯他人的合法利益,且造成的錯誤很難恢復。MYSQL數據庫采取以下安全措施[7]:

1)賬戶安全。MySQL每一賬戶都由用戶名、密碼以及位置(一般由服務器名、IP或通配符)組成,其包括合理權限和安全檢查。合理權限的目的就是通過給不同類型的賬戶賦予不同的權限,給同一用戶不同數據庫或數據表以不同權限來實現在保證數據庫安全的前提下進行合理的授權。MySQL數據庫主要使用3種不同類型的安全檢查:登錄驗證、授權、訪問控制。

2)存儲數據加密[8]。在應用程序的大量信息中,也許你只想對很小的一部分進行加密,如用戶的密碼等。這些密碼不應該以明文的形式保存,它們應該以加密的形式保存在數據庫中。一般情況下,大多數系統(這其中包括MySQL本身)都是使用哈希算法對敏感數據進行加密的。

3)數據庫字符集與編碼[9]。安裝的Web服務器軟件,例如Apache,默認的編碼都不是UTF-8。當從以UTF-8編碼的頁面中的表單輸入數據時,前臺瀏覽正常,在phpMyAdmin里查看時,中文則變成亂碼。解決辦法可以將MySQL的默認編碼改成UTF-8或連接數據庫時指定數據的編碼(mysqli_query($dbc,“SETNAMES‘UTF8’”),就可以告知MySQL采用UTF-8編碼傳輸數據了[10]。

4)功能模塊實現。功能模塊實現的要求:盡量少的代碼,盡量詳盡的注釋,盡量工整的書寫形式。功能模塊實現的目標為:高復用性、高可靠性、高效率、高安全性、高可讀性等。

3實例

以PHP語言為基礎,開發了職場咨詢網站———卓企網。卓企網主要包括檢索模塊、專家咨詢模塊、維護模塊、會員互動模塊、問題討論模塊、文檔瀏覽模塊、登陸注冊模塊、幫助模塊和其他輔助模塊等九大模塊,如圖1所示。

圖1卓企網包括的模塊

每一個大模塊包括一些功能模塊,如在卓企網的會員互動模塊中,包括留言、顯示留言、刪除留言等。實現“留言”模塊的前臺代碼如圖2所示,與之對應的后臺處理代碼如圖3所示。

圖2“留言”模塊的前臺處理代碼

圖3“留言”模塊的后臺處理代碼

具體的流程是用戶在留言窗口(如圖4)留言并點擊提交后頁面將相關數據傳送至后臺處理頁面,后臺處理代碼調用用戶的session值查找對應的身份信息后將留言插入數據庫,待正確無誤后跳轉回留言頁面并刷新留言板,從而用戶可以馬上就看到自己的留言(圖5)。

由于PHP語言的免費、開源、高可靠性、可移植性,并且可與MYSQL數據庫、Apache服務器完美結合,逐步已經成為當今網站的主流。