首頁  >  文章  >  後端開發  >  十個php一些不為人知的高級應用技巧_PHP教程

十個php一些不為人知的高級應用技巧_PHP教程

WBOY
WBOY原創
2016-07-22 09:02:581091瀏覽

  PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。它可以比CGI或Perl更快速的執行動態網頁。用PHP做出的動態頁面與其他的程式語言相比,PHP是將程式嵌入HTML文件中去執行,執行效率比完全產生HTML標記的CGI要高許多。以下介紹了十個PHP進階應用技巧。

  1, 使用 ip2long() 和 long2ip() 函數來把 IP 位址轉換成整數儲存到資料庫裡。

  這種方法把儲存空間降到了接近四分之一(cha​​r(15) 的15 個位元組對整形的4 個位元組),計算一個特定的位址是不是在一個區段內頁更簡單了,而且加快了搜尋和排序的速度(雖然有時僅僅是快了一點)。

  2, 在驗證 email 位址的時候使用 checkdnsrr() 函數驗證網域是否存在。

  這個內建函數能夠確認指定的網域名稱能夠解析成 IP 位址。此函數的 PHP 文件的使用者評論部分有一個簡單的使用者自訂函數,這個函數是基於 checkdnsrr(),用來驗證 email 位址的合法性。此函數的具體用法可自行查詢 php 幫助文件去。

  3, 如果你使用的是 PHP 5 和 MySQL 4.1 或更高的版本,考慮拋棄 mysql_* 系列函數改用改進版的 mysqli_* 系列函數。

  一個很好的功能就是你可以使用預處理語句,如果你在維護一個資料庫密集型站點,這個功能能夠加快查詢速度。這個是根據一些評估分數所得出的結論。

  4, 學會愛上三元運算子。

  5, 如果你在專案中感覺到有可重複使用的部分,在你寫下一行程式碼前先看看 PEAR 中是否已經有了。

  很多 PHP 程式設計師都知道 PEAR 是一個很好的資源庫,雖然還有很多程式設計師不知道。這個線上資源庫包含了超過 400 個可以重複使用的程式片段,這些程式片段你可以立即用刀你的程式裡。除非說你的專案真的是非常特別的,你總是可以找到幫你節省時間的 PEAR 包。 (參見 PECL)

  6, 用 highlight_file() 動用的列印出格式化的很漂亮的原始碼。

  如果你在留言板、IRC 這些地方尋求一個腳本的幫助的話,這個函數用起來非常的順手。當然了,要小心不要意外的洩漏出你的資料庫連線資訊和密碼等。

  7, 使用 error_reporting(0) 函數來防止使用者看到潛在的敏感錯誤訊息。

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

  8, 在網資料庫中儲存很大的字串之前使用 gzcompress() 和 gzuncompress() 來明確的壓縮/解壓縮字串。

  這個 PHP 內建函數使用 gzip 演算法,可以壓縮普通文字達 90%。在我每次要讀寫 BLOB 類型的欄位的時候都使用這些函數。唯一額例外就是當我需要全文檢索的時候。

  9, 透過"引用"傳遞參數的方法從一個函數中得到多個回傳值。

  就像三元運算子一樣,大部分受過正式程式設計訓練的程式設計師都知道這個技巧。但是那些HTML 背景大於Pascal 背景的程式設計師都或多或少的有過這樣的疑問"在僅能使用一次return 的情況下,從一個函數裡返回多個值?"答案就是在變數前加上一個"&" 符號,透過"引用"傳遞而非"值"傳遞。

  10, 完全理解"魔術引號"和 SQL 注入的危險性。

  我希望閱讀到這裡的開發者都已經很對 SQL 注入和了解了。不過我還是把這條列在這裡,是因為這確實有點難懂。如果你還沒聽過這種說法,那麼把今天剩下的時間都用來 Google、閱讀以及造訪php程式設計師的筆記網站吧。

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/371828.htmlTechArticlePHP 獨特的語法混合了C、Java、Perl 以及PHP 自創新的語法。它可以比CGI或Perl更快速的執行動態網頁。用PHP做出的動態頁面與其他的程式語言...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn