用PHP開發健壯的代碼:高屋建瓴的介紹

來源:互聯網
上載者:User
關鍵字 用PHP開發健壯的代碼:高屋建瓴的介紹

  用 PHP 開發健壯的代碼系列文章是關於解決大中型應用程式中的實際問題的。這一系列文章主要側重於 PHP 4 中可用的新功能,重點介紹了大量使開發工作更容易的技巧和竅門。在這一系列文章中,您將發現許多要學習的樣本和技術,還附帶了大量樣本代碼。在這第一篇文章中,PHP 高手 Amol Hatwar 從更高的角度介紹了如何為中到大型 Web 應用程式設計和編寫無錯誤、可維護的代碼。
  
  如果您是一名構建 Web 應用程式的開發人員並且需要速度、功能和平台獨立性(platform-independence),那麼 PHP 將適合您。而且 PHP 是免費的,易於學習和部署。這些是使 PHP 如此受歡迎的最大優點。但這些優點也可以變成缺點。由於 PHP 便於使用,所以開發人員在本應規劃和設計的時候,他們經常先把代碼硬塞到編輯器中。而且,在 PHP 中,解決問題的方法不止一種,比較容易犯那種慘痛的錯誤,這種錯誤過後難以訂正。
  
  在這一系列文章中,您將學會如何避免許多錯誤。如果您一步不落地堅持到底,您會發現自己嘗試一兩次就能編寫無錯誤的代碼了,對此不要感到奇怪。我還會指出 PHP 4 中可用的新功能,它們使開發工作更容易。我要介紹的大多數樣本都是用來處理諸如指令碼配置和安裝、檔案處理以及資料庫使用之類的實際問題。即使您對這一切都不熟悉,您也會發現理解起來很容易。不過,我假設您對 PHP 有初步的瞭解。如果您需要重新溫習,您會發現本文結尾處所列出的參考資料會對您有所協助。(請參閱參考資料。)
  
   奠定健壯的基礎
  用 PHP 編寫代碼與用類似 C 的語言編寫代碼非常相似。由於它們句法上類似,所以還會導致類似的代碼維護問題。當必須開發大型應用程式時,您可能要編寫大量代碼。隨著時間的流逝,這些代碼可能變得難以管理,錯誤很快就會乘虛而入。無論您從哪裡聽到這種說法,都不要相信 — 至少不能全信。但是,更重要的事實是如果您發現自己維護代碼過於頻繁,那麼首先您的應用程式的設計可能是很糟糕的。
  
   正確地設計代碼
  您最初做出的選擇會影響您以後編寫代碼時的自由度。這使得正確的設計成為一個重要的先決條件。雖然當您解決一個微不足道的問題時設計會成為一個額外的儀式,但是您至少必須知道就是應該這樣做的。許多人把設計和規劃看作額外的開銷。但是以糟糕的設計開始,或者根本就沒有設計,結果總是會造成草率的代碼。請記住,再巧妙的編碼也不能彌補糟糕的設計。雖然如何設計應用程式超出了這個系列文章的範疇,但我還是會提示一些設計 Web 應用程式時應該牢記的問題。
  
   分割和征服
  通過一個個較小的鬆散耦合的組件來設計和編寫大型應用程式總是更可取的。這樣,每個組件都是可維護的。例如,一個內容管理系統(Content Management System,CMS)可能分布在許多諸如使用者認證、顯示、內容解析和查看統計資訊等較小的模組上。而且,如果您的模組足夠通用的話,您可以在您開發的其它應用程式中重用代碼。程式員經常這麼做,但他們仍然抱怨。至於編碼的技巧就是讓每個模組具有它絕對需要的功能並且到此為止。賦予一個模組的功能要不多不少,恰到好處。
  
   絕對不要在頁面中考慮
  如果您對用 PHP 將您的 HTML 頁面變得更動態些感興趣,這部分將適合您。當您想在每個頁面上顯示日期和時間以使其看上去是最新的時候,通常是這個習慣開始的時候。每個 HTML 頁面都變成一個只有有限幾行的小 PHP 指令碼,日期函數隱藏在某個地方。如果這是您想要的,您必須認可這是使該作業實現的最簡單的方式。但是,想象一下您必須做些什麼變動才能改變頁面上呈現的日期格式。您將不得不更改每個頁面內的代碼。
  
  顯然,有更好的方式來達到這個目的。我最喜歡的方式是使用設定檔並在設定檔中定義一個常量,這個常量保留 date() 函數的格式字串。然後,您就可以在需要的地方使用 date() 函數了。每個頁面仍以指令碼結束,但是您要徹底地把那些您必須對單行代碼作更改的地方降到最少。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.