分享十位頂級PHP開發工程師的開發原則

來源:互聯網
上載者:User

  我要暈了,到底我要聽誰的? 在Web開發世界裡,PHP是最流行的語言之一,從PHP裡,你能夠很容易的找到你所需的指令碼,遺憾的是,很少人會去用“最佳做法”去寫一個PHP程式。這裡,我們向大家介紹PHP的10種最佳實務,當然,每一種都是經過大師們證明而得出的。

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

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

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

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

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

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

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

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

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

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

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

  3. 千萬不要相信使用者 – Dave Child

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

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

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

  Dave目前正致力於為它的《Writing Secure PHP》系列書籍整理執行個體,書的最後他說:

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

  4. 多使用PHP緩衝 – Ben Balbo

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

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

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

  ◆緩衝函數的運行結果

  ◆設定到期時間

  ◆緩衝IE下載的檔案

  ◆模板緩衝技術

  ◆Cache_Lite

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

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

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

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

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

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




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.