當(dāng)前位置:首頁 >  站長 >  建站經(jīng)驗 >  正文

PHP網(wǎng)站開發(fā)需要掌握的10個技巧

 2009-01-05 11:58  來源: 建站之家   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

1.使用 ip2long() 和 long2ip() 函數(shù)來把 IP 地址轉(zhuǎn)化成整型存儲到數(shù)據(jù)庫里。這種方法把存儲空間降到了接近四分之一(char(15) 的 15 個字節(jié)對整形的 4 個字節(jié)),計算一個特定的地址是不是在一個區(qū)段內(nèi)頁更簡單了,而且加快了搜索和排序的速度(雖然有時僅僅是快了一點)。

2.在驗證 email 地址的時候使用 checkdnsrr() 函數(shù)驗證域名是否存在。這個內(nèi)置函數(shù)能夠確認(rèn)指定的域名能夠解析成 IP 地址。該函數(shù)的PHP 文檔的用戶評論部分有一個簡單的用戶自定義函數(shù),這個函數(shù)基于 checkdnsrr(),用來驗證 email 地址的合法性。對于那些認(rèn)為自己的 email 地址是 “joeuser@wwwphp.net” 而不是 “joeuser@php.net” 的家伙們,這個方法可以很方便的抓住他們。

3.如果你使用的是 PHP 5 和 MySQL 4.1 或者更高的版本,考慮拋棄 mysql_* 系列函數(shù)改用改進(jìn)版的 mysqli_* 系列函數(shù)。一個很好的功能就是你可以使用預(yù)處理語句,如果你在維護(hù)一個數(shù)據(jù)庫密集型站點,這個功能能夠加快查詢速度。一些評估分?jǐn)?shù)。

4.學(xué)會愛上三元運(yùn)算符。

5.如果你在項目中感覺到有可復(fù)用的部分,在你寫下一行代碼前先看看 PEAR 中是否已經(jīng)有了。很多 PHP 程序員都知道 PEAR 是一個很好的資源庫,雖然還有很多程序員不知道。這個在線資源庫包含了超過 400 個可以復(fù)用的程序片段,這些程序片段你可以立即用刀你的程序里。除非說你的項目真的是非常特別的,你總能找到幫你節(jié)省時間的 PEAR 包。(參見 PECL)

6.用 highlight_file() 來自動的打印出格式化的很漂亮的源代碼。如果你在留言板、IRC 這些地方尋求一個腳本的幫助的話,這個函數(shù)用起來非常的順手。當(dāng)然了,要小心不要意外的泄露出你的數(shù)據(jù)庫連接信息和密碼等。 //在此之前我還真不知道有highlight_string()/highlight_file這樣的好東東

7.使用 error_reporting(0) 函數(shù)來防止用戶看到潛在的敏感錯誤信息。]在理想情況下,發(fā)布服務(wù)器應(yīng)該在 php.ini 里完全禁止。但是如果你用的是一個共享的 web 服務(wù)器的話,你沒有自己的 php.ini 文件,那么這種情況下你最好的選擇就是在所有腳本的第一行前加上 error_reporting(0);(或者使用 require_once() 方法)。這就能夠在出錯的時候完全屏蔽敏感的 SQL 查詢語句和路徑名。

8.在網(wǎng)數(shù)據(jù)庫中存儲很大的字符串之前使用 gzcompress() 和 gzuncompress() 來顯式的壓縮/解壓字符串。這個 PHP 內(nèi)置函數(shù)使用 gzip 算法,可以壓縮普通文本達(dá) 90%。在我每次要讀寫 BLOB 類型的字段的時候都使用這些函數(shù)。唯一額例外就是當(dāng)我需要全文檢索的時候。

9.通過“引用”傳遞參數(shù)的方法從一個函數(shù)中得到多個返回值。就像三元運(yùn)算符一樣,大部分受過正式編程訓(xùn)練的程序員都知道這個技巧。但是那些 HTML 背景大于 Pascal 背景的程序員都或多或少的有過這樣的疑問“在僅能使用一次 return 的情況下,從一個函數(shù)里返回多個值?”答案就是在變量前加上一個 “&” 符號,通過“引用”傳遞而非“值”傳遞。

10.完全理解“魔術(shù)引號”和 SQL 注入的危險性。我希望閱讀到這里的開發(fā)者都已經(jīng)很對 SQL 注入和了解了。不過我還是把這條列在這里,是因為這個確實有點難以理解。如果你還沒有聽說過這種說法,那么把今天剩下的時間都用來 Google、閱讀吧。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

  • PHP5停更,中企動力為你保駕護(hù)航

    這兩天你們都心慌慌,為什么?因為市面上的PHP5將于年底停止更新,六成用戶將面臨安全風(fēng)險。筆者我只能說,這次絕對穩(wěn)了!因為這些語言跟我們沒關(guān)系,詳細(xì)了解下中企的技術(shù)實力!

  • PHP開發(fā)者的Linux學(xué)習(xí)之路

    談起一個高效動態(tài)網(wǎng)站的構(gòu)建,那就不得不提到LAMP,即Linux操作系統(tǒng)、Apache網(wǎng)絡(luò)服務(wù)器、Mysql數(shù)據(jù)庫、Perl、PHP或Python編程語言等開源產(chǎn)品所組成的網(wǎng)站架構(gòu)框架,其最大的優(yōu)勢是開放性強(qiáng),安全性高,且成本低廉。因此,LAMP成為了國際流行的網(wǎng)站構(gòu)建方案。而作為一名php開發(fā)人員

    標(biāo)簽:
    php開發(fā)工具
  • PHP二次開發(fā)discuz3.2最新體驗

    康盛官方于6月4號發(fā)布了discuz3.2的正式版,因為這兩天一直忙于一個項目,一直沒來的及體驗,現(xiàn)在抽時間總算是裝上了,也體驗一把。根據(jù)官方說明:Discuz!X3.2在繼承和完善Discuz!X3.1的基礎(chǔ)上,針對社區(qū)移動端進(jìn)行了新的嘗試。推出微信登錄、微社區(qū)等功能。安全穩(wěn)定的程序為站長提供更加

  • 如何從網(wǎng)站開發(fā)角度提高php安全漏洞的防范

    目前PHP因其功能強(qiáng)大、入門簡單、代碼執(zhí)行效率高等優(yōu)點,成為了Web應(yīng)用開發(fā)的流行語言。由于使用廣泛,所以利用PHP安全漏洞對Web網(wǎng)站進(jìn)行的攻擊也越來越多,這給Web應(yīng)用的安全帶來了嚴(yán)重威脅。對網(wǎng)站的安全負(fù)有直接責(zé)任的主要有兩類人員:一類是網(wǎng)站開發(fā)人員;一類是網(wǎng)站管理人員。本文筆者就從網(wǎng)站開發(fā)的角

    標(biāo)簽:
    php開發(fā)工具
  • 使用CakePHP框架開發(fā)網(wǎng)站

    現(xiàn)如今成熟的PHP開發(fā)框架有很多種,YII,zendframwork,國內(nèi)輕量型框架Thinkphp,還有開發(fā)效率很高的CakePHP。公司可以根據(jù)自己的需求選擇合適的開發(fā)框架,在這里,小編以自己公司使用的開發(fā)框架CakePHP作為重點介紹,闡述它的優(yōu)點。CakePHP的簡要介紹:PHP框架已被

    標(biāo)簽:
    php開發(fā)工具

熱門排行

信息推薦