解讀PHP網(wǎng)站開發(fā)需要掌握的10個(gè)技巧_PHP教程
推薦:解讀PHP開發(fā)人員應(yīng)熟悉的五個(gè)概念語法結(jié)構(gòu)教科書上的知識(shí)和實(shí)際的程序設(shè)計(jì)是有區(qū)別的,真正的知識(shí)要在實(shí)際的開發(fā)中獲得。每個(gè)php的開發(fā)人員在開始開發(fā)web應(yīng)用程序之前,都應(yīng)該熟悉下面的五件事: 1. 框架 框架可以說是php開發(fā)中的一個(gè)最重要的問題。用php開發(fā)web應(yīng)用程序時(shí)有很多方法,有很
1.完全理解“魔術(shù)引號(hào)”和 SQL 注入的危險(xiǎn)性。我希望閱讀到這里的開發(fā)者都已經(jīng)很對 SQL 注入和了解了。不過我還是把這條列在這里,是因?yàn)檫@個(gè)確實(shí)有點(diǎn)難以理解
2.在驗(yàn)證 email 地址的時(shí)候使用 checkdnsrr() 函數(shù)驗(yàn)證域名是否存在。這個(gè)內(nèi)置函數(shù)能夠確認(rèn)指定的域名能夠解析成 IP 地址。該函數(shù)的PHP 檔的用戶評論部分有一個(gè)簡單的用戶自定義函數(shù),這個(gè)函數(shù)基于 checkdnsrr(),用來驗(yàn)證 email 地址的合法性。對于那些認(rèn)為自己的 email 地址是 “joeuser@wwwphp.net” 而不是 “joeuser@php.net” 的家伙們,這個(gè)方法可以很方便的抓住他們。
3.如果你使用的是 PHP 5 和 MySQL 4.1 或者更高的版本,考慮拋棄 mysql_* 系列函數(shù)改用改進(jìn)版的 mysqli_* 系列函數(shù)。一個(gè)很好的功能就是你可以使用預(yù)處理語句,如果你在維護(hù)一個(gè)數(shù)據(jù)庫密集型站點(diǎn),這個(gè)功能能夠加快查詢速度。一些評估分?jǐn)?shù)。
4.學(xué)會(huì)愛上三元運(yùn)算符。
5.如果你在項(xiàng)目中感覺到有可復(fù)用的部分,在你寫下一行代碼前先看看 PEAR 中是否已經(jīng)有了。很多 PHP 程序員都知道 PEAR 是一個(gè)很好的資源庫,雖然還有很多程序員不知道。這個(gè)在線資源庫包含了超過 400 個(gè)可以復(fù)用的程序片段,這些程序片段你可以立即用刀你的程序里。除非說你的項(xiàng)目真的是非常特別的,你總能找到幫你節(jié)省時(shí)間的 PEAR 包。(參見 PECL)
6.用 highlight_file() 來自動(dòng)的打印出格式化的很漂亮的源代碼。如果你在留言板、IRC 這些地方尋求一個(gè)腳本的幫助的話,這個(gè)函數(shù)用起來非常的順手。當(dāng)然了,要小心不要意外的泄露出你的數(shù)據(jù)庫連接信息和密碼等。 //在此之前我還真不知道有highlight_string()/highlight_file這樣的好東東
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 查詢語句和路徑名。
8.在網(wǎng)數(shù)據(jù)庫中存儲(chǔ)很大的字符串之前使用 gzcompress() 和 gzuncompress() 來顯式的壓縮/解壓字符串。這個(gè) PHP 內(nèi)置函數(shù)使用 gzip 算法,可以壓縮普通文本達(dá) 90%。在我每次要讀寫 BLOB 類型的字段的時(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.使用 ip2long() 和 long2ip() 函數(shù)來把 IP 地址轉(zhuǎn)化成整型存儲(chǔ)到數(shù)據(jù)庫里。這種方法把存儲(chǔ)空間降到了接近四分之一(char(15) 的 15 個(gè)字節(jié)對整形的 4 個(gè)字節(jié)),計(jì)算一個(gè)特定的地址是不是在一個(gè)區(qū)段內(nèi)頁更簡單了,而且加快了搜索和排序的速度(雖然有時(shí)僅僅是快了一點(diǎn))。
分享:談PHP識(shí)別24位BMP的驗(yàn)證碼PHP識(shí)別24位BMP的驗(yàn)證碼 今天接到個(gè)活,就是識(shí)別一個(gè)簡單的驗(yàn)證碼,這個(gè)驗(yàn)證碼異常的簡單,具有很少的干擾信息,所以只要拿到信息進(jìn)行比較.很容易就可以識(shí)別,但是一切不會(huì)那么一帆風(fēng)順的..也許是對于我來說吧.我覺得我干什么都十分曲折... 這個(gè)驗(yàn)證碼圖片是
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-解讀PHP網(wǎng)站開發(fā)需要掌握的10個(gè)技巧。