十個(gè)PHP高級(jí)應(yīng)用技巧果斷收藏
php,是英文超級(jí)文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,被廣泛的運(yùn)用。本文介紹了十個(gè)PHP高級(jí)應(yīng)用技巧,一起來看。
PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多。下面介紹了十個(gè)PHP高級(jí)應(yīng)用技巧。
十個(gè)PHP高級(jí)應(yīng)用技巧果斷收藏
1, 使用ip2long() 和 long2ip() 函數(shù)來把 IP 地址轉(zhuǎn)化成整型存儲(chǔ)到數(shù)據(jù)庫里。
這種方法把存儲(chǔ)空間降到了接近四分之一(char(15) 的 15 個(gè)字節(jié)對(duì)整形的 4 個(gè)字節(jié)),計(jì)算一個(gè)特定的地址是不是在一個(gè)區(qū)段內(nèi)頁更簡單了,而且加快了搜索和排序的速度(雖然有時(shí)僅僅是快了一點(diǎn))。
2, 在驗(yàn)證 email 地址的時(shí)候使用 checkdnsrr() 函數(shù)驗(yàn)證域名是否存在。
這個(gè)內(nèi)置函數(shù)能夠確認(rèn)指定的域名能夠解析成 IP 地址。該函數(shù)的PHP 文檔的用戶評(píng)論部分有一個(gè)簡單的用戶自定義函數(shù),這個(gè)函數(shù)基于 checkdnsrr(),用來驗(yàn)證 email 地址的合法性。對(duì)于那些認(rèn)為自己的 email 地址是 [url=mailto:“joeuser@wwwphp.net]“joeuser@wwwphp.net[/url]” 而不是 [url=mailto:“joeuser@php.net]“joeuser@php.net[/url]” 的家伙們,這個(gè)方法可以很方便的抓住他們。
3, 如果你使用的是 PHP 5 和 MySQL 4.1 或者更高的版本,考慮拋棄 mysql_* 系列函數(shù)改用改進(jìn)版的 mysqli_* 系列函數(shù)。
一個(gè)很好的功能就是你可以使用預(yù)處理語句,如果你在維護(hù)一個(gè)數(shù)據(jù)庫密集型站點(diǎn),這個(gè)功能能夠加快查詢速度。一些評(píng)估分?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ù)庫連接信息和密碼等。
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, 完全理解“魔術(shù)引號(hào)”和 SQL 注入的危險(xiǎn)性。
我希望閱讀到這里的開發(fā)者都已經(jīng)很對(duì) SQL 注入和了解了。不過我還是把這條列在這里,是因?yàn)檫@個(gè)確實(shí)有點(diǎn)難以理解。如果你還沒有聽說過這種說法,那么把今天剩下的時(shí)間都用來Google、閱讀吧。
**本文的分析,希望對(duì)你有幫助,牢記這十個(gè)PHP非常實(shí)用的高級(jí)應(yīng)用技巧,必有收獲。
一階段 PHP基礎(chǔ)部分 (160課時(shí))
涉及到Web開發(fā)必備基本的技術(shù),和能開發(fā)一個(gè)完整的動(dòng)態(tài)網(wǎng)站項(xiàng)目
前臺(tái)用戶界面布局編寫(HTML5 CSS3) / 存儲(chǔ)網(wǎng)站內(nèi)容的數(shù)據(jù)庫設(shè)計(jì)(MySQL) / 服務(wù)器業(yè)務(wù)處理(PHP)程序開發(fā)。
二階段 PHP高級(jí)部分(160課時(shí))
這是兄弟連歷經(jīng)10年的PHP培訓(xùn)經(jīng)驗(yàn)總結(jié)出來的八大模塊,而且每個(gè)模塊都有都用對(duì)用的項(xiàng)目實(shí)戰(zhàn)案例。
由產(chǎn)品級(jí)環(huán)境搭建 / 關(guān)系型數(shù)據(jù)庫查詢統(tǒng)計(jì)與分析實(shí)戰(zhàn) / 非關(guān)系型數(shù)據(jù)庫應(yīng)用實(shí)戰(zhàn)/ JavaScript單頁應(yīng)用技術(shù)開發(fā)實(shí)戰(zhàn) / 長連接與網(wǎng)頁推送技術(shù)實(shí)戰(zhàn) / WebApp開發(fā) 實(shí)戰(zhàn) / 微信應(yīng)用開發(fā)實(shí)戰(zhàn) / 產(chǎn)品標(biāo)準(zhǔn)化
三階段 商業(yè)項(xiàng)目實(shí)戰(zhàn)(80課時(shí))
課程共80課時(shí),是采用真實(shí)商業(yè)項(xiàng)目實(shí)戰(zhàn),讓學(xué)員更好的了解和掌握實(shí)際工作中項(xiàng)目的完整開發(fā)流程,具體課程模塊有:
項(xiàng)目開始前期準(zhǔn)備 / 項(xiàng)目需求分析 / 項(xiàng)目數(shù)據(jù)庫設(shè)計(jì) / 項(xiàng)目程序設(shè)計(jì) / 項(xiàng)目框架搭建及組件 / 代碼編寫與測(cè)試 / 項(xiàng)目驗(yàn)收與生產(chǎn)部署 / 其他技術(shù)擴(kuò)展等課程模塊
趙帥 兄弟連教育總監(jiān)級(jí)講師
他是php行業(yè)中技術(shù)能力強(qiáng)還會(huì)說相聲會(huì)唱歌的偶像男神。認(rèn)真做教育授之以漁是教學(xué)理念,真誠熱情是教學(xué)態(tài)度,幽默猥瑣有激情是教學(xué)方式!曾在多家公司做過IT產(chǎn)品技術(shù)顧問 積累了強(qiáng)大的互聯(lián)網(wǎng)實(shí)戰(zhàn)經(jīng)驗(yàn),結(jié)合著風(fēng)騷的幽默,抓緊方向盤,讓老司機(jī)帶你體驗(yàn)知識(shí)段子齊收獲的無敵體驗(yàn)!
學(xué)習(xí)氛圍濃厚 求學(xué)圣地帶你一站成才
集衣食住學(xué)為一體,舒適生活區(qū)域,先進(jìn)教學(xué)設(shè)備,為學(xué)員打造良好的學(xué)習(xí)環(huán)境
兄弟連教育是易第優(yōu)(北京)教育咨詢股份有限公司旗下品牌,致力于高素質(zhì)軟件開發(fā)人才的培訓(xùn)與培養(yǎng)。公司成立于2007年,總部設(shè)在北京,目前已在上海、廣州、深圳、鄭州、沈陽、成都、南京、杭州、寧波、石家莊、南昌等城市設(shè)立了教學(xué)中心,業(yè)務(wù)范圍覆蓋全國。2016年5月獲得華圖教育1.25億元投資,同年9月掛牌新三板(股票代碼839467)。
以“讓學(xué)員技術(shù)靠譜、做人更靠譜”為使命,傳承極致的工匠精神,深耕PHP、Java、大數(shù)據(jù)、Python全棧 人工智能、Linux云計(jì)算、UI設(shè)計(jì)、前端全棧、網(wǎng)絡(luò)營銷等學(xué)科教研,擁有來自北大、清華和BAT等知**企的專兼職教師數(shù)百名。
除了強(qiáng)大的線下集中培訓(xùn)外,為在職和自學(xué)能力較強(qiáng)人士量身打造的IT云課堂,將線上課程與線下隨時(shí)更新的面授課同步,并首創(chuàng)“零學(xué)費(fèi)學(xué)習(xí)”模式。公司先后榮獲騰訊網(wǎng)“年度特色職業(yè)教育品牌”、百度教育“2017年度新銳教育品牌”等多項(xiàng)榮譽(yù)。公司編寫的教材《細(xì)說PHP》自2009年首次印刷以來再版8次,先后榮獲51CTO“讀者喜愛的原創(chuàng)IT技術(shù)圖書獎(jiǎng)”、電子工業(yè)出版社2013年年度暢銷 IT 技術(shù)圖書獎(jiǎng)和2016年年度好書等數(shù)十項(xiàng)榮譽(yù)。公司的綜合性職業(yè)發(fā)展自媒體《明哥聊求職》榮獲“2017教育行業(yè)優(yōu)秀自媒體”大獎(jiǎng)。
兄弟連將始終以強(qiáng)大的師資陣容、嚴(yán)苛的教學(xué)管理體系和先進(jìn)的課程研發(fā)理念,致力于培養(yǎng)中國優(yōu)秀的IT職業(yè)精英!
想了解更多關(guān)于南京PHP培訓(xùn)資料,請(qǐng)咨詢:教育聯(lián)展網(wǎng)
更多關(guān)于南京PHP培訓(xùn)的信息: