亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

頂級PHP大師的開發原則

2024-09-04 11:50:22
字體:
來源:轉載
供稿:網友

  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站點?,F在,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多方面的全面發展,他經??梢园l現其他程序員不能發現的問題,并形成相關經驗,尤其是他開發網站的方法。他參與了網站開發的各個環節,因此他的建議對于提高網站開發的大局觀非常有用。

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

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

  通常來說,任何項目都可以自動化,自動化程度越高, 你完成項目的時間就越短?;〞r間來開發使用頻率很高的框架和模板,將會節省你以后更多時間。同時,使用像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的時間。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲 日韩 国产第一| 久久久精品影院| 韩国福利视频一区| 456国产精品| 亚洲精品动漫久久久久| 91精品视频在线看| 欧美高清视频免费观看| 国产69精品久久久久99| 欧美肥老太性生活视频| 亚洲精选在线观看| 国产狼人综合免费视频| 国产在线视频一区| 亚洲成人久久电影| 国产精品亚洲精品| 亚洲香蕉成人av网站在线观看| 成人久久久久久久| 懂色av一区二区三区| 国产做受高潮69| 777国产偷窥盗摄精品视频| 欧美性猛交99久久久久99按摩| 国产97在线观看| 国产激情综合五月久久| 国产精品色悠悠| 国产网站欧美日韩免费精品在线观看| 亚洲精品综合久久中文字幕| 国产不卡一区二区在线播放| 欧美亚洲在线播放| 欧美大片在线看免费观看| 久久夜精品香蕉| 欧美成人激情视频免费观看| 国产精品中文字幕在线| 疯狂做受xxxx欧美肥白少妇| 久久99热精品这里久久精品| 国产在线精品自拍| 国产精品色视频| 永久免费精品影视网站| 成人高清视频观看www| 中文字幕日韩av| 精品美女国产在线| 韩剧1988在线观看免费完整版| 精品日本高清在线播放| 中文字幕亚洲色图| 欧美孕妇性xx| 91经典在线视频| 在线国产精品视频| 日韩欧美在线看| 欧美中文字幕在线| 久久久精品在线观看| 亚洲免费福利视频| 国产精品 欧美在线| 国产不卡精品视男人的天堂| 国产亚洲欧洲高清| 亚洲精品电影在线| 亚洲三级av在线| 久久精品国产欧美亚洲人人爽| 亚洲电影免费观看高清完整版在线观看| 欧美激情精品久久久| 欧美超级乱淫片喷水| 久久久爽爽爽美女图片| 美日韩精品免费视频| 欧美日韩国产黄| 91国内产香蕉| 亚洲福利视频免费观看| 久久99精品国产99久久6尤物| 久久精品国产视频| 国产精品综合久久久| 亚洲乱码国产乱码精品精天堂| 亚洲系列中文字幕| 高清日韩电视剧大全免费播放在线观看| 美女国内精品自产拍在线播放| 欧美成年人视频网站| 成年无码av片在线| 麻豆精品精华液| 91精品久久久久久综合乱菊| 一区二区三区美女xx视频| 欧美激情国产精品| 欧美激情综合亚洲一二区| 久久国产精品久久久久| 日韩大陆欧美高清视频区| 日韩在线观看网址| 国产ts人妖一区二区三区| 人妖精品videosex性欧美| 91国内精品久久| 在线亚洲午夜片av大片| 日韩中文视频免费在线观看| 欧美专区福利在线| 一区二区三区日韩在线| 亚洲人成在线观看网站高清| 神马国产精品影院av| 亚洲精品国产精品国产自| 国产福利视频一区二区| 亚洲丁香久久久| 亚洲美女在线看| 欧美一级淫片播放口| 亚洲影视中文字幕| 亚洲欧美日韩精品久久亚洲区| 国产精品激情av在线播放| 国产欧美精品一区二区三区介绍| 日产精品久久久一区二区福利| 亚洲深夜福利在线| 亚洲人成电影在线| 国产视频精品va久久久久久| 亚洲天堂第一页| 亚洲xxxx18| 亚洲国产精品专区久久| 日韩在线视频二区| 欧美激情综合亚洲一二区| 欧美在线xxx| 九九久久精品一区| 亚洲精品自拍第一页| 国产精品三级久久久久久电影| 日韩69视频在线观看| 亚洲成在人线av| 中文字幕日韩电影| 欧美视频13p| 国产日韩欧美在线视频观看| 欧美激情精品久久久久久| 亚洲欧美国产精品va在线观看| 国产成人综合av| 成人久久一区二区三区| 欧美电影免费观看高清完整| 亚洲免费福利视频| 色噜噜久久综合伊人一本| 亚洲色图欧美制服丝袜另类第一页| 久久精品国产一区二区电影| 91久久久久久久久久久久久| 日韩精品视频在线观看网址| 久久精品成人动漫| 中文字幕欧美专区| 孩xxxx性bbbb欧美| 欧美日韩人人澡狠狠躁视频| 亚洲影院高清在线| 姬川优奈aav一区二区| 毛片精品免费在线观看| 亚洲最大激情中文字幕| 亚洲电影成人av99爱色| 亚洲级视频在线观看免费1级| 国产午夜精品全部视频在线播放| 亚洲国产毛片完整版| 91精品国产高清久久久久久久久| 午夜精品www| 最新的欧美黄色| 精品毛片三在线观看| 精品国产一区二区三区久久久| 亚洲福利小视频| 亚洲视频欧洲视频| 国产精品视频自在线| 久久人体大胆视频| 久久久久久中文| 亚洲激情视频网| 国产一区二区三区欧美| 国产精品国产三级国产aⅴ浪潮| 国产精品久久久久免费a∨大胸| 精品欧美一区二区三区| 日韩在线视频线视频免费网站| 国内精品视频一区| 国产精品九九久久久久久久| 精品国产网站地址| 91精品国产高清久久久久久久久| 91在线看www| 亚洲精品aⅴ中文字幕乱码| 成人激情视频在线| 久久av中文字幕| 原创国产精品91|