熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

10位頂級PHP大師的開發原則[1]

2013-11-15 12:47:34  來源: PHP編程 

  在WEB開發世界裡PHP是最流行的語言之一從PHP裡你能夠很容易的找到你所需的腳本遺憾的是很少人會去用最佳做法去寫一個PHP程序這裡我們向大家介紹PHP的種最佳實踐當然每一種都是經過大師們證明而得出的

   在合適的時候使用PHP – Rasmus Lerdorf

  沒有誰比PHP的創建者Rasmus Lerdorf明白PHP用在什麼地方是更合理的他於年發布了PHP這門語言從那時起PHP就像燎原之火燒遍了整個開發陣營改變了互聯網的世界可是Rasmus並不是因此而創建PHP的PHP是為了解決WEB開發者的實際問題而誕生的

  和許多開源項目一樣PHP變得流行流行的動機並不能用正常的哲學來進行解釋甚至流行得有些孤芳自賞它完全可以作為一個案例一個解決各種Web問題的工具需求所引起的案例因此當PHP剛出現的時候這種工具需求全部聚焦到PHP的身上

  但是你不能奢望PHP可以解決所有問題Lerdorf是第一個承認PHP只是一種工具的人並且PHP也有很多力所不能及的情況

  根據工作的不同來選擇合適的工具我跑了很多家公司為了說服他們部署和使用PHP但是這並不意味著PHP對所有問題都適用它只是可以一個解決大部分問題的frontend腳步語言

  作為一個web開發者嘗試用PHP解決所有問題是不科學的同時也會浪費你的時間當PHP玩不轉的時候不要猶豫試用一下其他的語言吧

   使用多表存儲提高規模伸縮性 – Matt Mullenweg

  沒有人願意質疑Matt Mullenweg在PHP方面的權威性他開發了這個星球上最流行的blog系統(依靠一個強大的社區力量支持) WordPress 創建Wordpress以後Matt和他的團隊啟動了WordPresscom平台一個基於WordPress MU的免費blog站點現在Wordpresscom已經擁有大約萬用戶 這些用戶每天提供超過 篇的日志 (要查看更多Wordpresscom的統計情況請點擊這裡

  如果有人知道如何讓網站的規模伸縮自如這個人一定是Matt Mullenweg年的時候 Matt對Wordpress的數據結構進行了前瞻性的改進並且解釋了為什麼Wordpress MU對每個blog使用獨立的MYSQL表格 而不是把所有的blog數據都塞進一個巨大的表格

  我們測試過這個方法但是發現如果要擴展它的伸縮性代價太高如果用一個整體的數據結構在大流量面前你將會面臨服務器硬件的問題在MU裡面用戶們都被分布到獨立的表格當中並且可以輕易地組織起來舉個例子WordPresscom把用戶的數據分散存儲到個數據庫中這些數據庫可以分散大規模的數據訪問實現流量和壓力分流

  數據表的可遷移性讓代碼(blog)可以運行得更快並且讓系統具備更強的伸縮性依靠強大的緩存策略和靈活的數據庫運用策略 Matt向人們展示了時下最流行的Facebook和Wordpresscom都可以在PHP下穩定運行並且處理驚人的訪問量

   千萬不要相信用戶 – Dave Child

  Dave Child是Added Bytes (previously ilovejackdanielscom) 網站的核心人物這個網站以他出色的《cheat sheets for many programming languages》而聞名 Dave為很多英國的公司服務並且已經在編程世界裡樹立起相當的權威

  Dave為PHP開發者提供了很多深謀遠慮的建議並總結成了《writing secure code in PHP》千萬不要相信你的用戶他們甚至可能會傷害你

  有一條web開發的基本原則我重復多少遍都覺得不夠那就是千萬不要相信你的用戶同時要假設你網站中的每個數據單元都是從用戶那裡收集來的惡意代碼很多時候你必須用JAVAscript在客戶端檢驗表單提交過來的內容 如果你習慣了如此那麼這是一個好習慣如果安全性對你來說很重要這就是最重要最需要學習的原則

  Dave目前正致力於為它的《Writing Secure PHP》系列書籍整理實例書的最後他說

  最後變得偏執一點吧除非你認為你的站點永遠不會受到攻擊否則就正視所有的問題當問題真正發生的時候你的情況會變得很糟你需要把每個用戶都看成會帶來一場攻防站的黑客想盡一切辦法來保護站點的安全同時想好相應問題的解決方案

   多使用PHP緩存 – Ben Balbo

  Ben Balbo開發了Site Point一個為developers和designers提供指導的網站他是墨爾本PHP開發和開源俱樂部的成員 因此他對PHP有一定的了解同時對PHP caching有一定的想法和經驗

  如果你擁有一個訪問量很大但更新並不頻繁的站點(比如blog基於某種CMS)或許它需要進行一些改造這些改造不會花費太多的時間但是對性能有突出的貢獻 如果要為一個復雜/更新頻率很快的站點建立緩存機制過程可能會很曲折但是好處也是顯而易見的

  PHP緩存技術有很多種Ben為我們推薦了如下一些

  ◆緩存函數的運行結果

  ◆設置過期時間

  ◆緩存IE下載的文件

  ◆模板緩存技術

  ◆Cache_Lite

  由於PHP作為動態語言的特性緩存機制對於更新頻率並不快的站點來說非常重要

   使用IDE Templates和Snippets加速PHP開發 – Chad Kieffer

  當Chad Kieffer從UI設計和數據庫優化的工作中抽身出來的時候他會在他的博客 tablespoons上分享很多技術經驗由於Chad多方面的全面發展他經常可以發現其他程序員不能發現的問題並形成相關經驗尤其是他開發網站的方法他參與了網站開發的各個環節因此他的建議對於提高網站開發的大局觀非常有用

  Chad認為使用Eclipse PDT(Eclipses PHP development package) 這樣的IDE同時使用一些模板技術和開源項目可以有效地提高PHP的開發速度

  緊湊的計劃長長的to do lists以及deadlines讓開發人員非常苦悶不過有些功能比如Eclipse Templates可以有效減少編碼的時間和出錯的幾率

  通常來說任何項目都可以自動化自動化程度越高 你完成項目的時間就越短花時間來開發使用頻率很高的框架和模板將會節省你以後更多時間同時使用像Eclipse and the PDT package這樣的IDE你會發現效率得到明顯提高IDE可以自動閉合補全分號並且可以在本地debug

[]  []


From:http://tw.wingwit.com/Article/program/PHP/201311/21643.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.