當前位置:工程項目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 南昌OA系統(tǒng) > 南昌網站建設公司
十位頂級PHP開發(fā)工程師的開發(fā)原則
1. 在適宜的時分運用PHP – Rasmus Lerdorf
沒有誰比PHP的創(chuàng)立者Rasmus Lerdorf清楚PHP用在什么當地是更合理的,他于1995年發(fā)布了PHP這門言語,從那時起,PHP就像燎原之火,燒遍了整個開拓陣營,改動了互聯網的世界??墒牵琑asmus并不是因而而創(chuàng)立PHP的。PHP是為調查決web開拓者的實踐問題而降生的。
和很多開源項目一樣,PHP變得盛行,盛行的念頭并不克不及用正常的哲學來進行分析,甚至盛行得有些顧影自憐。它完全可以作為一個案例,一個處理各類Web問題的東西需求所惹起的案例,因而當PHP剛呈現的時分,這種東西需求悉數聚集到PHP的身上。
然則,你不克不及奢望PHP可以處理一切問題。Lerdorf是第一個供認PHP只是一種東西的人,而且PHP也有良多力所不克不及及的狀況。
依據任務的分歧來選擇適宜的東西。我跑了良多家公司,為了壓服他們擺設和運用PHP,然則這并不料味著PHP對一切問題都合用。它只是可以一個處理大局部問題的front-end腳步言語。
作為一個web開拓者,測驗用PHP處理一切問題是不科學的,還也會糜費你的工夫。當PHP玩不轉的時分,不要猶疑,試用一下其他的言語吧。
2. 運用多表存儲進步規(guī)劃伸縮性 – Matt Mullenweg
沒有人情愿質疑Matt Mullenweg在PHP方面的威望性,他開拓了這個星球上最盛行的blog系統(tǒng),(依托一個強壯的社區(qū)力氣支撐): WordPress. 創(chuàng)立Wordpress今后,Matt和他的團隊啟動了WordPress.com平臺,一個基于WordPress MU的免費blog站點。目前,Wordpress.com曾經擁有大約400萬用戶, 這些用戶天天供應超越 140,000篇的日記。 (要檢查更多Wordpress.com的計算狀況,請點擊這里.)
假如有人曉得若何讓網站的規(guī)劃伸縮自若,這小我必然是Matt Mullenweg。2006年的時分 Matt對Wordpress的數據構造進行了前瞻性的改良,而且分析了為什么Wordpress MU對每個blog運用自力的MYSQL表格, 而不是把一切的blog數據都塞進一個宏大的表格。
我們測試過這個辦法,然則發(fā)現假如要擴展它的伸縮性,價值太高。假如用一個全體的數據構造,在大流量面前,你將會晤臨效勞器硬件的問題。在MU里面。用戶們都被散布到自力的表格傍邊,而且可以隨便地組織起來。舉個例子,WordPress.com把用戶的數據渙散存儲到4096個數據庫中,這些數據庫可以渙散大規(guī)劃的數據拜訪,完成流量和壓力分流。
數據表的可遷徙性讓代碼(blog)可以運轉得更快,而且讓系統(tǒng)具有更強的伸縮性。依托強壯的緩存戰(zhàn)略和靈敏的數據庫運用戰(zhàn)略, 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》系列書本整頓實例,書的最終他說:
最終,變得偏執(zhí)一點吧。除非你以為你的站點永遠不會遭到進擊,不然就正視一切的問題,當問題真正發(fā)作的時分,你的狀況會變得很糟。你需求把每個用戶都算作會帶來一場攻防站的黑客,想盡一切方法來維護站點的平安,還想好響應問題的處理方案。
4. 多運用PHP緩存 – Ben Balbo
Ben Balbo開拓了Site Point,一個為developers和designers供應指點的網站。他是墨爾本PHP開拓和開源俱樂部的成員, 因而他對PHP有必然的調查,還對PHP caching有必然的主意和經歷。
假如你擁有一個拜訪量很大,但更新并不頻頻的站點(比方blog,基于某種CMS),或許它需求進行一些革新,這些革新不會破費太多的工夫,然則對功能有凸起的奉獻。 假如要為一個復雜/更新頻率很快的站點樹立緩存機制,進程能夠會很迂回,然則益處也是不言而喻的。
PHP緩存技能有良多種,Ben為我們引薦了如下一些:
◆緩存函數的運轉后果
◆設置過時工夫
◆緩存IE下載的文件
◆模板緩存技能
◆Cache_Lite
因為PHP作為動態(tài)言語的特征,緩存機制關于更新頻率并不快的站點來說十分主要。
5. 運用IDE, Templates和Snippets加快PHP開拓 – Chad Kieffer
當Chad Kieffer從UI設計和數據庫優(yōu)化的任務中抽身出來的時分,他會在他的博客2 tablespoons上分享良多技能經歷。因為Chad多方面的具體開展,他常??梢园l(fā)現其他順序員不克不及發(fā)現的問題,并構成相關經歷,尤其是他開拓網站的辦法。他參加了網站開拓的各個環(huán)節(jié),因而他的建議關于進步網站開拓的大局觀十分有效。
Chad以為運用Eclipse PDT(Eclipse’s PHP development package) 如許的IDE,還運用一些模板技能和開源項目可以有用地進步PHP的開拓速度。
緊湊的方案,長長的to do lists以及deadlines閃開發(fā)人員十分苦悶。但是有些功用,比方Eclipse Templates,可以有用削減編碼的工夫和犯錯的幾率。
凡間來說,任何項目都可以主動化,主動化水平越高, 你完成項目標工夫就越短?;üし騺黹_拓運用頻率很高的框架和模板,將會節(jié)流你今后更多工夫。還,運用像Eclipse and the PDT package如許的IDE,你會發(fā)現效率獲得分明進步,IDE可以主動閉合,補全分號而且可以在當地debug。
6. 應用好PHP的過濾函數 – Joey Sochacki
或許Joey Sochacki并不像Matt Mullenweg那樣有名 ,但他也是一個經歷豐厚的開拓者,而且經過他的博客Devolio分享了良多技能經歷
Joey發(fā)目前編寫php代碼的進程中有良多當地需求進行過濾,但卻并沒有太多的coder存眷php的內置過濾函數。
過濾數據是我們常常需求做的工作,然則良多功用豐厚的PHP內置過濾函數卻不為人知。運用相似filter_* 的PHP內置函數,我們簡直可以處置一切的過濾義務,包羅數據類型驗證/URL/email和IP地址驗證/非凡字符處置等等。
過濾是一件復雜的工作,然則我置信joey的發(fā)現會給你良多啟示,讓你看法到PHP強壯的過濾功用。
7. 運用PHP框架 – Josh Sharp
關于能否應該運用Zend, CakePHP, Code Igniter, 或許 其他PHP框架,不斷存在著良多爭議,然則在web開拓者的心中,他們有本人權衡的規(guī)范。
Josh Sharp本人創(chuàng)立了一家供應面包和黃油效勞的網站,因而他關于運用PHP框架來開拓網站有必然的經歷。他以為運用一個PHP框架來進行項目開拓(use a PHP framework ),可以有用地節(jié)流工夫,而且削減犯錯的幾率。為什么?由于他感覺PHP真實是太好上手了。
PHP的易于運用有時分也出缺陷,由于并不嚴厲的語法,常常會招致良多錯誤代碼的降生。但假如運用一個PHP框架,犯錯的幾率就會大大削減。
PHP框架可以讓你的代碼構造愈加標準,而且節(jié)流很多工夫。
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這些便捷的東西來創(chuàng)立一個批處置東西并不是一件復雜的工作。
Jack以為運用cron, PHP和MySQL在后臺處置一些義務,比起多歷程的營業(yè)邏輯要劃算得多。
兩種辦法我都測驗過,我以為Cron十分契合”Keep It Simple, Stupid” (KISS) 的準則,它讓后臺處置變得簡略。與多歷程的營業(yè)邏輯比擬,它沒有內存溢出的風險。你可以創(chuàng)立一個簡略的批處置劇本,而且在cron中運轉,這個劇本會準時反省能否有義務需求處置,處置完之后就會主動退出,因而你不必擔憂能否有歷程卡殼,或許墮入死輪回。
10. 實時啟用錯誤申報 – David Cummings
David Cummings有一個專門供應CMS軟件效勞的公司 ,而且取得過幾回獎 ,他有十分豐厚的PHP開拓經歷。David曾經寫過《two PHP tips he wished he’d learned in the beginning》,個中一點就是:實時啟用錯誤申報,這會節(jié)流很多的工夫。
我通知人們,最主要的工作就是最大水平地開啟PHP的錯誤申報,為什么?由于PHP能夠會埋沒良多小問題:
◆變量沒有預界說
◆在代碼片段中援用了不成用的變量
◆運用了不決義的常量這些要素看起來并不是什么大事,除非你在運用面向對象的辦法編寫一些類庫。凡間,封閉錯誤申報將能夠使你支付更大的本錢來維護你的代碼。
錯誤申報可以幫你隨便地找到代碼的問題地點,假如錯誤申報的品級夠高,纖細的錯誤都能被立刻發(fā)現,協助你節(jié)流全體debug的工夫。
- 1網站運營過程中需要做好哪些SEO規(guī)劃呢?
- 2如何進行網站優(yōu)化
- 3確定網站的關鍵詞的幾個重要因素
- 4最重要的是選擇一個適合自己能力和水平的學校
- 5外鏈操作的幾種錯誤方法
- 6網站優(yōu)化之域名篇—如何選擇域名
- 7新手站長換友鏈需要注意的
- 8網站建設公司歸納“九大”行動竅門
- 9義烏進銷存軟件分享ERP系統(tǒng)的四大管理目標
- 10聚光集熱能力的強弱是衡量熱水器性能優(yōu)劣標志
- 11怎么知道網站被降權?網站個性詞成SEO睛雨表
- 12探討搜索引擎是如何識別原創(chuàng)?
- 13中國SEO行業(yè)將細分成七大塊市場
- 14PHP在共享內存中存儲數據集
- 15怎樣做百度知道
- 16辦公室裝修后相關材料的保養(yǎng)
- 17DIV+CSS實現京東商城分類適合所有版本
- 18國內域名注冊相關問題集錦
- 19如何尋找適合自己的外貿ERP管理系統(tǒng)
- 20合肥最好的網絡公司解密網絡推廣的技巧
- 21很多人習慣把西瓜切開后冷藏食用
- 22香港服務器和香港云服務器的區(qū)別
- 23桌面虛擬化是什么?
- 24義烏華睿管理軟件ERP系統(tǒng)實施執(zhí)行力下降原因
- 25什么是Seo策略
- 26義烏華睿軟件告訴你-如何判斷ERP的質量?
- 27學會查看并修正自己的網站
- 28義烏生產管理軟件組件化ERP系統(tǒng)四大架構
- 29義烏華睿管理軟件與企業(yè)發(fā)展
- 30流量,我要真實有效的
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓