无码一区二区三区高清在线观-无码一区二区三区高清在线-无码一区二区三区电影-无码一区二区三区不卡av-无码一区二区三区不卡-无码一区二区三区va在线播放

首頁 > 職業資格  > 

PHP開發九大經驗 天天觀點

2023-05-10   來源:萬能知識網

PHP開發九大經驗

PHP是一門高效的網絡編程語言,由于它具有編寫靈活、運行快速等優點,迅速成為Web程序員的首選語言。以下是小編為大家搜索整理PHP開發九大經驗,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!


(資料圖片僅供參考)

1.首要意識:安全

大多數時候,我們開發的Web程序都是需要跟數據庫打交道的,所以這里幾乎可以說SQL注入是一個怎么也無法避免要拿出來討論一下的問題。而且近年來像XSS和CSRF攻擊也變得大行其道,使得"黑客"們貌似又有了一把把利器,而我們總是處于被動的狀態。不過我們要記得是下面這兩個原則:

1. 永遠不要相信用戶輸入的東西。(老話了,但這是真的)

2. 將自己需要輸出的數據進行轉義。

簡單來說就是:filter in put , escape output

如果你是新手,不要再使用類似以下的查詢語句了:

SELECT FROM users WHERE username = $_POST["username"] AND password = $_POST["password"];

還有就是,使用PDO或Mysqli吧,不要再使用老式的mysql操作了。

而對于,CSRF的解決方案,目前接觸的都是給每一次的表單提交都設置一個token值,然后在表單提交的.時候校驗之即可。

2.明確地知道各個比較操作符的差別

PHP的比較操作符,這其實可以說是一個很小的注意點,但是在某些時候真的很重要。比如說很多時候我們得考慮清楚,該用==還是===,如果你使用過strpos()這個函數,下面的代碼可能會給你一個直觀的感受:

上面這段代碼的運行結果其實是輸出Chris is not an author,但是現實情況是,Chris & Sean真的是Author啊,怎么回這樣呢?其實是這樣的:Chris正好出現在Chris & Sean首位開始處,也就是0這個位置,所以substr()返回了,由于條件判斷語句中bool判斷,所以0作為了false處理,于是程序輸出了Chris is not an author,但是在這種情況之下我們該怎么處理呢?我們其實可以這樣的:

這里的!==和!=的不同就體現出來了。

3.可以減少使用else就少使用else

這個貌似從我一開始接觸編程就有的一個想法,因為每次看到if(){}else{}就有一種這一段其實可以寫得更好的感覺,因為一旦你減少了使用else關鍵字,你得代碼會減少兩行!沒錯,兩行也是我們的追求,而且,從我的經驗看,else少的代碼貌似可讀性更高,對我來說。

if( this condition ) { $x = 5; } else{ $x = 10;}

如果,在$x的默認值是10,還是下面這樣寫感覺比較好:

$x = 10;

if( this condition )

{ $x = 5; }

4.去掉不必要的括號

這里的目的其實跟else關鍵字部分是一樣的,我們是為了更簡短的代碼和更優越的可讀性,對以下的情況,你都應該考慮優化代碼:

if ($gollum == "halfling") { $height --; }

其實是可以這樣的:

if ($gollum == "halfling") $height --;

你甚至可以這樣:

是不是有一種又短又清晰的感覺?

5.多用str_replace()

在很多時候我們需要對一些字符串進行替換,在PHP中有以下幾個函數可以達到這個目的:

str_replace()

ereg_replace()

preg_replace()

如果你確實是需要使用正則匹配,那就使用preg_replace(),而如果在可實現替換的情況下,請使用str_replace(),因為據不完全統計,str_replace()的效率在這三個當中是最高的。

6.使用三元運算符

這個可能很多人都有這個感受,使用三元運算符之后,我們可以去掉一堆if else語句了,代碼又短又爽。

$host = strlen($host) > 0 ? $host : htmlentities($host);

7.使用緩存

目前PHP熱門的緩存技術可能就是Redis和Memcached了,在PHP的官方文檔中,也有Memcached的使用教程,至于Redis,我最近在研究中,后續會給出一些教程,如果一切順利的話。

8.使用框架

框架的好處很多,可能是在性能方面有所損失外,貌似找不到不用框架的理由了,框架即可以加快你的開發速度,也可以讓你在寫代碼的過程中擼的舒舒服服,而且想很多安全問題,你都會得到很好的解決。我這里首推Laravel,不過像Yii2 Slim Symfony都是非常棒的框架,除了Symfony沒有嘗過過之外,剩下的三個我都有使用經歷,最后就基本是用Laravel了。不過我建議的Laravel可能不適合你,這還是得看個人喜好。

9.用isset()代替strlen()

如果你需要在項目代碼中需要根據一個字符串的長度來做條件判斷,這個時候非常推薦你直接使用isset(),因為在同等條件之后,isset()的速度是strlen()的五倍左右,所以:

以上的兩個條件判斷都是可以達到相同的目的,但是小編推薦使用的是第一種。

詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。

標簽

如果你

推薦詞條

主站蜘蛛池模板: 国产麻豆精品原创 | 国产成人无码午夜视频在线播放 | 波多野吉衣人妻无码潮喷av | 国产精品无码区久久av | 国产精品自拍网站 | 老色69久久九九精品高潮 | 中文日韩亚洲欧美制服 | 欧美成人精品欧美一级乱黄欧美成人 | 在线免费观看一区二区三区 | 鸥美一级黄色片 | 动漫3d精品一区二区三区乱码 | 亚洲国产aⅴ精品一区二区女女 | 久久久国产精品天天影视 | 在线播放一区二区不卡三区 | 麻豆av巨作在线观看 | 国产传媒在线观看视频免费观看 | 久久久久精品无码专区 | 亚洲欧美中文一区二区三区 | 秋霞日韩一区二区三区在线观看 | 无码日本邻居大乳人妻在线看 | 午夜av福利一区二区三区内射 | 亚洲av永久无码精品一区二区 | 成人h动漫网站hd在线播放 | 国产做A爱片久久毛片A片高清 | 国产日产欧产精品精品软件 | 日本一卡二卡三卡四卡无卡免费播放 | 国产视频一区二区在线观看 | 国产偷伦免费视频看 | 国产精选 第1页-要看tv | 麻豆国产成人av在线播放 | 亚洲人妻少妇av资源网站 | 日本高清乱理伦片中文字 | 免费国产又色又爽又黄的网站 | 欧美搡BBBBB摔BBBBB | 国产人妻一区二区免费AV | 日韩精品无码一区二区三区视频 | 亚洲国产欧美日韩精品一区二区三 | 99偷拍视频精品一区二区 | 人久人久人久污污污精品国产 | 国产精品扒开腿做爽爽爽A片软件 | 久久久久女人精品毛片九一 |