亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

PHP編程開發(fā)的原則有哪些

時間:2024-05-11 00:51:28 php語言 我要投稿
  • 相關(guān)推薦

PHP編程開發(fā)的原則有哪些

  在WEB開發(fā)世界里,PHP是最流行的語言之一,以下是百分網(wǎng)小編搜索整理的關(guān)于PHP編程開發(fā)的原則,供參考借鑒,希望對大家有所幫助!想了解更多相關(guān)信息請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  1. 在合適的時候使用PHP – Rasmus Lerdorf

  沒有誰比PHP的創(chuàng)建者Rasmus Lerdorf明白PHP用在什么地方是更合理的,他于1995年發(fā)布了PHP這門語言,從那時起,PHP就像燎原之火,燒遍了整個開發(fā)陣營,改變了互聯(lián)網(wǎng)的世界?墒牵琑asmus并不是因此而創(chuàng)建PHP的。PHP是為了解決WEB開發(fā)者的實(shí)際問題而誕生的。

  和許多開源項(xiàng)目一樣,PHP變得流行,流行的動機(jī)并不能用正常的哲學(xué)來進(jìn)行解釋,甚至流行得有些孤芳自賞。它完全可以作為一個案例,一個解決各種Web問題的工具需求所引起的案例,因此當(dāng)PHP剛出現(xiàn)的時候,這種工具需求全部聚焦到PHP的身上。

  但是,你不能奢望PHP可以解決所有問題。Lerdorf是第一個承認(rèn)PHP只是一種工具的人,并且PHP也有很多力所不能及的情況。

  根據(jù)工作的不同來選擇合適的工具。我跑了很多家公司,為了說服他們部署和使用PHP,但是這并不意味著PHP對所有問題都適用。它只是可以一個解決大部分問題的front-end腳步語言。

  作為一個web開發(fā)者,嘗試用PHP解決所有問題是不科學(xué)的,同時也會浪費(fèi)你的時間。當(dāng)PHP玩不轉(zhuǎn)的時候,不要猶豫,試用一下其他的語言吧。

  2. 使用多表存儲提高規(guī)模伸縮性 – Matt Mullenweg

  沒有人愿意質(zhì)疑Matt Mullenweg在PHP方面的權(quán)威性,他開發(fā)了這個星球上最流行的blog系統(tǒng),(依靠一個強(qiáng)大的社區(qū)力量支持): WordPress. 創(chuàng)建Wordpress以后,Matt和他的團(tuán)隊(duì)啟動了WordPress.com平臺,一個基于WordPress MU的免費(fèi)blog站點(diǎn),F(xiàn)在,Wordpress.com已經(jīng)擁有大約400萬用戶, 這些用戶每天提供超過 140,000篇的日志。 (要查看更多Wordpress.com的統(tǒng)計(jì)情況,請點(diǎn)擊這里.)

  如果有人知道如何讓網(wǎng)站的規(guī)模伸縮自如,這個人一定是Matt Mullenweg。2006年的時候 Matt對Wordpress的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了前瞻性的改進(jìn),并且解釋了為什么Wordpress MU對每個blog使用獨(dú)立的MYSQL表格, 而不是把所有的blog數(shù)據(jù)都塞進(jìn)一個巨大的表格。

  我們測試過這個方法,但是發(fā)現(xiàn)如果要擴(kuò)展它的伸縮性,代價(jià)太高。如果用一個整體的數(shù)據(jù)結(jié)構(gòu),在大流量面前,你將會面臨服務(wù)器硬件的問題。在MU里面。用戶們都被分布到獨(dú)立的表格當(dāng)中,并且可以輕易地組織起來。舉個例子,WordPress.com把用戶的數(shù)據(jù)分散存儲到4096個數(shù)據(jù)庫中,這些數(shù)據(jù)庫可以分散大規(guī)模的數(shù)據(jù)訪問,實(shí)現(xiàn)流量和壓力分流。

  數(shù)據(jù)表的可遷移性讓代碼(blog)可以運(yùn)行得更快,并且讓系統(tǒng)具備更強(qiáng)的伸縮性。依靠強(qiáng)大的緩存策略和靈活的數(shù)據(jù)庫運(yùn)用策略, Matt向人們展示了時下最流行的Facebook和Wordpress.com都可以在PHP下穩(wěn)定運(yùn)行,并且處理驚人的訪問量。

  3. 千萬不要相信用戶 – Dave Child

  Dave Child是Added Bytes (previously ilovejackdaniels.com) 網(wǎng)站的核心人物,這個網(wǎng)站以他出色的《cheat sheets for many programming languages》而聞名。 Dave為很多英國的公司服務(wù),并且已經(jīng)在編程世界里樹立起相當(dāng)?shù)臋?quán)威。

  Dave為PHP開發(fā)者提供了很多深謀遠(yuǎn)慮的建議,并總結(jié)成了《writing secure code in PHP》:千萬不要相信你的用戶,他們甚至可能會傷害你。

  有一條web開發(fā)的基本原則,我重復(fù)多少遍都覺得不夠,那就是:千萬不要相信你的用戶,同時要假設(shè)你網(wǎng)站中的每個數(shù)據(jù)單元都是從用戶那里收集來的惡意代碼。很多時候,你必須用JAVAscript在客戶端檢驗(yàn)表單提交過來的內(nèi)容, 如果你習(xí)慣了如此,那么,這是一個好習(xí)慣。如果安全性對你來說很重要,這就是最重要最需要學(xué)習(xí)的原則。

  Dave目前正致力于為它的《Writing Secure PHP》系列書籍整理實(shí)例,書的最后他說:

  最后,變得偏執(zhí)一點(diǎn)吧。除非你認(rèn)為你的站點(diǎn)永遠(yuǎn)不會受到攻擊,否則就正視所有的問題,當(dāng)問題真正發(fā)生的時候,你的情況會變得很糟。你需要把每個用戶都看成會帶來一場攻防站的黑客,想盡一切辦法來保護(hù)站點(diǎn)的安全,同時想好相應(yīng)問題的解決方案。

  4. 多使用PHP緩存 – Ben Balbo

  Ben Balbo開發(fā)了Site Point,一個為developers和designers提供指導(dǎo)的網(wǎng)站。他是墨爾本PHP開發(fā)和開源俱樂部的成員, 因此他對PHP有一定的了解,同時對PHP caching有一定的想法和經(jīng)驗(yàn)。

  如果你擁有一個訪問量很大,但更新并不頻繁的站點(diǎn)(比如blog,基于某種CMS),或許它需要進(jìn)行一些改造,這些改造不會花費(fèi)太多的時間,但是對性能有突出的貢獻(xiàn)。 如果要為一個復(fù)雜/更新頻率很快的站點(diǎn)建立緩存機(jī)制,過程可能會很曲折,但是好處也是顯而易見的。

  PHP緩存技術(shù)有很多種,Ben為我們推薦了如下一些:

  緩存函數(shù)的運(yùn)行結(jié)果

  設(shè)置過期時間

  緩存IE下載的文件

  模板緩存技術(shù)

  Cache_Lite

  由于PHP作為動態(tài)語言的特性,緩存機(jī)制對于更新頻率并不快的站點(diǎn)來說非常重要。

  5. 使用IDE, Templates和Snippets加速PHP開發(fā) – Chad Kieffer

  當(dāng)Chad Kieffer從UI設(shè)計(jì)和數(shù)據(jù)庫優(yōu)化的工作中抽身出來的時候,他會在他的博客2 tablespoons上分享很多技術(shù)經(jīng)驗(yàn)。由于Chad多方面的全面發(fā)展,他經(jīng)?梢园l(fā)現(xiàn)其他程序員不能發(fā)現(xiàn)的問題,并形成相關(guān)經(jīng)驗(yàn),尤其是他開發(fā)網(wǎng)站的方法。他參與了網(wǎng)站開發(fā)的各個環(huán)節(jié),因此他的建議對于提高網(wǎng)站開發(fā)的大局觀非常有用。

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

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

  通常來說,任何項(xiàng)目都可以自動化,自動化程度越高, 你完成項(xiàng)目的時間就越短;〞r間來開發(fā)使用頻率很高的框架和模板,將會節(jié)省你以后更多時間。同時,使用像Eclipse and the PDT package這樣的IDE,你會發(fā)現(xiàn)效率得到明顯提高,IDE可以自動閉合,補(bǔ)全分號并且可以在本地debug。

  6. 利用好PHP的過濾函數(shù) – Joey Sochacki

  或許Joey Sochacki并不像Matt Mullenweg那樣有名 ,但他也是一個經(jīng)驗(yàn)豐富的開發(fā)者,并且通過他的博客Devolio分享了很多技術(shù)經(jīng)驗(yàn)

  Joey發(fā)現(xiàn)在編寫php代碼的過程中有很多地方需要進(jìn)行過濾,但卻并沒有太多的coder關(guān)注php的內(nèi)置過濾函數(shù)。

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

  過濾是一件復(fù)雜的事情,但是我相信joey的發(fā)現(xiàn)會給你很多啟發(fā),讓你認(rèn)識到PHP強(qiáng)大的過濾功能。

  7. 使用PHP框架 – Josh Sharp

  對于是否應(yīng)該使用Z end, CakePHP, Code Igniter, 或者 其他PHP框架,一直存在著很多爭議,但是在web開發(fā)者的心中,他們有自己衡量的標(biāo)準(zhǔn)。

  Josh Sharp自己創(chuàng)建了一家提供面包和黃油服務(wù)的網(wǎng)站,因此他對于使用PHP框架來開發(fā)網(wǎng)站有一定的經(jīng)驗(yàn)。他認(rèn)為使用一個PHP框架來進(jìn)行項(xiàng)目開發(fā)(use a PHP framework ),可以有效地節(jié)省時間,并且減少出錯的幾率。為什么?因?yàn)樗X得PHP實(shí)在是太好上手了。

  PHP的易于使用有時候也有缺陷,因?yàn)椴⒉粐?yán)格的語法,經(jīng)常會導(dǎo)致很多錯誤代碼的誕生。但如果使用一個PHP框架,出錯的幾率就會大大減少。

  PHP框架可以讓你的代碼結(jié)構(gòu)更加規(guī)范,并且節(jié)省大量時間。

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

  與Josh的觀點(diǎn)恰恰相反,PHP的鼻祖Rasmus Lerdorf卻認(rèn)為最好不要使用PHP框架,為什么?因?yàn)椴换诳蚣艿腜HP性能更好。Rasmus在Drupalcon 2008的演講上,用“Hello World”的例子來對比了一些框架PHP和簡單PHP之間的性能,結(jié)果顯示框架PHP的性能要遠(yuǎn)遠(yuǎn)落后。

【PHP編程開發(fā)的原則有哪些】相關(guān)文章:

學(xué)習(xí)PHP編程可以從事哪些工作07-11

php編程語言入門需要掌握哪些知識05-12

常用的php開發(fā)工具有哪些07-26

PHP編程語言搶手的原因08-11

如何自學(xué)PHP編程語言07-28

php編程語言入門知識05-22

學(xué)習(xí)php編程語言 php常用英語單詞10-03

PHP編程語言的10大誤區(qū)07-14

PHP符合PSR編程規(guī)范的實(shí)例07-31

用PHP與XML聯(lián)手進(jìn)行網(wǎng)站編程10-16