亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

頂級PHP大師的開發原則

添加時間:2014-7-10 17:57:31  添加: 思海網絡 

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

  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。

  6. 利用好PHP的過濾函數 – Joey Sochacki

  或許Joey Sochacki并不像Matt Mullenweg那樣有名 ,但他也是一個經驗豐富的開發者,并且通過他的博客Devolio分享了很多技術經驗

  Joey發現在編寫php代碼的過程中有很多地方需要進行過濾,但卻并沒有太多的coder關注php的內置過濾函數。

  過濾數據是我們經常需要做的事情,但是很多功能豐富的PHP內置過濾函數卻不為人知。使用類似filter_* 的PHP內置函數,我們幾乎可以處理所有的過濾任務,包括數據類型驗證/URL/email和IP地址驗證/特殊字符處理等等。

  過濾是一件復雜的事情,但是我相信joey的發現會給你很多啟發,讓你認識到PHP強大的過濾功能。

  7. 使用PHP框架 – Josh Sharp

  對于是否應該使用Zend, CakePHP, Code Igniter, 或者 其他PHP框架,一直存在著很多爭議,但是在web開發者的心中,他們有自己衡量的標準。

  Josh Sharp自己創建了一家提供面包和黃油服務的網站,因此他對于使用PHP框架來開發網站有一定的經驗。他認為使用一個PHP框架來進行項目開發(use a PHP framework ),可以有效地節省時間,并且減少出錯的幾率。為什么?因為他覺得PHP實在是太好上手了。

  PHP的易于使用有時候也有缺陷,因為并不嚴格的語法,經常會導致很多錯誤代碼的誕生。但如果使用一個PHP框架,出錯的幾率就會大大減少。

  PHP框架可以讓你的代碼結構更加規范,并且節省大量時間。

  8. 不要使用PHP框架 – Rasmus Lerdorf

  與Josh的觀點恰恰相反,PHP的鼻祖Rasmus Lerdorf卻認為最好不要使用PHP框架,為什么?因為不基于框架的PHP性能更好。Rasmus在Drupalcon 2008的演講上,用“Hello World”的例子來對比了一些框架PHP和簡單PHP之間的性能,結果顯示框架PHP的性能要遠遠落后。

  9. 使用批處理 – Jack D. Herrington

  Jack Herrington對PHP世界并不陌生, 并且為大名鼎鼎的IBM developerWorks貢獻過超過30篇的專搞, 同時出版過《PHP Hacks》的書,因此他是一個真正的專家。

  Herrington推薦使用批處理和Cron來代替那些可以運行在后臺的程序腳步,Web用戶并不愿意在線等待你的處理過程,所以有些事情更適合放到后臺來處理。

  誠然,在某些情況下,這有點大材小用了,但是你可以清楚地看到,使用Cron, MySQL, PHP面向對象的方法以及Pear::DB這些便捷的工具來創建一個批處理工具并不是一件復雜的事情。

  Jack認為使用cron, PHP和MySQL在后臺處理一些任務,比起多進程的業務邏輯要劃算得多。

  兩種方法我都嘗試過,我認為Cron非常符合”Keep It Simple, Stupid” (KISS) 的原則,它讓后臺處理變得簡單。與多進程的業務邏輯相比,它沒有內存 溢出的風險。你可以創建一個簡單的批處理腳本,并且在cron中運行,這個腳本會定時檢查是否有任務需要處理,處理完之后就會自動退出,因此你不用擔心是 否有進程卡殼,或者陷入死循環。

  10. 及時啟用錯誤報告 – David Cummings

  David Cummings有一個專門提供CMS軟件服務的公司 ,并且獲得過幾次獎 ,他有非常豐富的PHP開發經驗。David曾經寫過《two PHP tips he wished he’d learned in the beginning》,其中一點就是:及時啟用錯誤報告,這會節省大量的時間。

  我告訴人們,最重要的事情就是最大程度地開啟PHP的錯誤報告,為什么?因為PHP可能會隱藏很多小問題:

  ◆變量沒有預定義

  ◆在代碼片段中引用了不可用的變量

  ◆使用了未定義的常量這些因素看起來并不是什么大事,除非你在使用面向對象的方法編寫一些類庫。通常,關閉錯誤報告將可能使你付出更大的成本來維護你的代碼。

  錯誤報告可以幫你輕易地找到代碼的問題所在,如果錯誤報告的等級夠高,細微的錯誤都能被立即發現,幫助你節省整體debug的時間。

關鍵字:PHP、網站、服務、程序

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站