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