1. 在合適的時候使用PHP
沒有誰比PHP的創建者Rasmus Lerdorf明白PHP用在什麼地方是更合理的,他於1995年發布了PHP這門語言,從那時起,PHP就像燎原之火,燒遍了整個開發陣營,改變了互聯網的世界。可是,Rasmus並不是因此而創建PHP的。PHP是為了解決web開發者的實際問題而誕生的。
和許多開源項目一樣,PHP變得流行,流行的動機並不能用正常的哲學來進行解釋,甚至流行得有些孤芳自賞。它完全可以作為一個案例,一個解決各種Web問題的工具需求所引起的案例,因此當PHP剛出現的時候,這種工具需求全部聚焦到PHP的身上。但是,你不能奢望PHP可以解決所有問題。Lerdorf是第一個承認PHP只是一種工具的人,並且PHP也有很多力所不能及的情況。作為一個web開發者,嘗試用PHP解決所有問題是不科學的,同時也會浪費你的時間。當PHP玩不轉的時候,不要猶豫,試用一下其他的語言吧。
2. 使用多表存儲提高規模伸縮性
如果要擴展它的伸縮性,代價太高。如果用一個整體的數據結構,在大流量面前,你將會面臨服務器硬件的問題。在MU裡面。用戶們都被分布到獨立的表格當中,並且可以輕易地組織起來。舉個例子,WordPress.com把用戶的數據分散存儲到4096個數據庫中,這些數據庫可以分散大規模的數據訪問,實現流量和壓力分流。數據表的可遷移性讓代碼(blog)可以運行得更快,並且讓系統具備更強的伸縮性。依靠強大的緩存策略和靈活的數據庫運用策略, Matt向人們展示了時下最流行的Facebook和Wordpress.com都可以在PHP下穩定運行,並且處理驚人的訪問量。
3. 千萬不要相信用戶
有一條web開發的基本原則,我重復多少遍都覺得不夠,那就是:千萬不要相信你的用戶,同時要假設你網站中的每個數據單元都是從用戶那裡收集來的惡意代碼。很多時候,你必須用javascript在客戶端檢驗表單提交過來的內容, 如果你習慣了如此,那麼,這是一個好習慣。如果安全性對你來說很重要,這就是最重要最需要學習的原則。
4. 多使用PHP緩存
Ben Balbo開發了Site Point,一個為developers和designers提供指導的網站。他是墨爾本PHP開發和開源俱樂部的成員, 因此他對PHP有一定的了解,同時對PHP caching有一定的想法和經驗。如果你擁有一個訪問量很大,但更新並不頻繁的站點(比如blog,基於某種CMS),或許它需要進行一些改造,這些改造不會花費太多的時間,但是對性能有突出的貢獻。 如果要為一個復雜/更新頻率很快的站點建立緩存機制,過程可能會很曲折,但是好處也是顯而易見的。
5. 使用IDE, Templates和Snippets加速PHP開發
由於Chad多方面的全面發展,他經常可以發現其他程序員不能發現的問題,並形成相關經驗,尤其是他開發網站的方法。他參與了網站開發的各個環節,因此他的建議對於提高網站開發的大局觀非常有用。Chad認為使用Eclipse PDT這樣的IDE,同時使用一些模板技術和開源項目可以有效地提高PHP的開發速度。緊湊的計劃,長長的to do lists以及deadlines讓開發人員非常苦悶。不過有些功能,比如Eclipse Templates,可以有效減少編碼的時間和出錯的幾率。通常來說,任何項目都可以自動化,自動化程度越高, 你完成項目的時間就越短。花時間來開發使用頻率很高的框架和模板,將會節省你以後更多時間。同時,使用像Eclipse and the PDT package這樣的IDE,你會發現效率得到明顯提高,IDE可以自動閉合,補全分號並且可以在本地debug。