IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)網(wǎng)絡(luò)編程PHP編程 → 關(guān)于PHP你可能不知道的10件事

關(guān)于PHP你可能不知道的10件事

時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

  小編之前也曾報(bào)導(dǎo)過php開發(fā)人員容易忽略的幾點(diǎn)精華,除了一些精華技術(shù)方法外,很多細(xì)微之處也是程序員們?nèi)菀缀雎缘,下面我們(yōu)槟偨Y(jié)了10個(gè)關(guān)于PHP你可能不知道的事情。

  關(guān)于PHP更多內(nèi)容,歡迎訪問:PHP開發(fā)基礎(chǔ)入門

  1.使用ip2long() 和long2ip()函數(shù)來把IP地址轉(zhuǎn)化成整型存儲(chǔ)到數(shù)據(jù)庫(kù)里。

  這種方法把存儲(chǔ)空間降到了接近四分之一(char(15)的15個(gè)字節(jié)對(duì)整形的4個(gè)字節(jié)),計(jì)算一個(gè)特定的地址是不是在一個(gè)區(qū)段內(nèi)頁(yè)更簡(jiǎn)單了,而且加快了搜索和排序的速度(雖然有時(shí)僅僅是快了一點(diǎn))。

  2.在驗(yàn)證Email地址的時(shí)候使用checkdnsrr() 函數(shù)驗(yàn)證域名是否存在。

  這個(gè)內(nèi)置函數(shù)能夠確認(rèn)指定的域名能夠解析成IP地址。該函數(shù)的PHP 文檔的用戶評(píng)論部分有一個(gè)簡(jiǎn)單的用戶自定義函數(shù),這個(gè)函數(shù)基于checkdnsrr(),用來驗(yàn)證 email 地址的合法性。對(duì)于那些認(rèn)為自己的Email地址是[email protected]而不是[email protected]的家伙們,這個(gè)方法可以很方便的抓住他們。

  3.如果你使用的是PHP 5和mysql 4.1 或者更高的版本,考慮用mysqli_* 系列函數(shù)。

  一個(gè)很好的功能就是你可以使用預(yù)處理語(yǔ)句,如果你在維護(hù)一個(gè)數(shù)據(jù)庫(kù)密集型站點(diǎn),這個(gè)功能能夠加快查詢速度。一些評(píng)估分?jǐn)?shù)。

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

  5.如果你在項(xiàng)目中感覺到有可復(fù)用的部分,在你寫下一行代碼前先看看PEAR中是否已經(jīng)有了。

  很多PHP程序員都知道 PEAR 是一個(gè)很好的資源庫(kù),雖然還有很多程序員不知道。這個(gè)在線資源庫(kù)包含了超過400個(gè)可以復(fù)用的程序片段,這些程序片段你可以立即用刀你的程序里。除非說你的項(xiàng)目真的是非常特別的,你總能找到幫你節(jié)省時(shí)間的 PEAR包。

  6.用 highlight_file()來自動(dòng)的打印出格式化的很漂亮的源代碼。

  如果你在留言板、IRC 這些地方尋求一個(gè)腳本的幫助的話,這個(gè)函數(shù)用起來非常的順手。當(dāng)然了,要小心不要意外的泄露出你的數(shù)據(jù)庫(kù)連接信息和密碼等。

  7.使用 error_reporting(0)函數(shù)來防止用戶看到潛在的敏感錯(cuò)誤信息。

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

  8.在網(wǎng)數(shù)據(jù)庫(kù)中存儲(chǔ)很大的字符串之前使用 gzcompress() 和 gzuncompress() 來顯式的壓縮/解壓字符串。

  這個(gè)PHP內(nèi)置函數(shù)使用 gzip 算法,可以壓縮普通文本達(dá) 90%。在我每次要讀寫B(tài)LOB類型的字段的時(shí)候都使用這些函數(shù)。唯一額例外就是當(dāng)我需要全文檢索的時(shí)候。

  9.通過"引用"傳遞參數(shù)的方法從一個(gè)函數(shù)中得到多個(gè)返回值。

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

  10.完全理解"魔術(shù)引號(hào)"和 SQL 注入的危險(xiǎn)性。

  我希望閱讀到這里的開發(fā)者都已經(jīng)很對(duì)SQL注入很了解了。不過我還是把這條列在這里,是因?yàn)檫@個(gè)確實(shí)有點(diǎn)難以理解。

關(guān)鍵詞標(biāo)簽:PHP,PHP開發(fā)基礎(chǔ)

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql deveplsql developer怎么連接數(shù)據(jù)庫(kù)-plsql deve2021年最好用的10款php開發(fā)工具推薦2021年最好用的10款php開發(fā)工具推薦在 PHP 中使用命令行工具在 PHP 中使用命令行工具php應(yīng)用程序安全防范技術(shù)研究php應(yīng)用程序安全防范技術(shù)研究

相關(guān)下載

人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法PHP中防止SQL注入攻擊PHP會(huì)話Session的具體使用方法解析PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法CakePHP程序員必須知道的21條技巧PHP如何清空mySQL數(shù)據(jù)庫(kù)PHP采集圖片實(shí)例(PHP采集)plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法