PHP開(kāi)發(fā)的一些注意點(diǎn)總結(jié)
更新時(shí)間:2010年10月12日 08:46:10 作者:
技術(shù)平臺(tái)的不同,導(dǎo)致了實(shí)現(xiàn)方式的不同,同樣是PHP,小公司往往選擇的是WIN平臺(tái)而大公司選擇的是類unix平臺(tái)(Linux,FreeBSD and Other) ,現(xiàn)在就最近這段時(shí)間的學(xué)習(xí),這好乘國(guó)慶長(zhǎng)假這段時(shí)間好好的總結(jié)下的了.
Linux系統(tǒng)的使用
現(xiàn)在標(biāo)配的系統(tǒng)是 Linux + Nginx + PHP + MySQL ,這樣的配置越來(lái)越多的大公司在用的了說(shuō)到配置不同的是一個(gè)公司的規(guī)約,比如說(shuō)掛載一般分為2個(gè)盤, / 下面劃分為系統(tǒng)用的分區(qū)10G 足夠 剩余空間劃給/home的了.這點(diǎn)我感覺(jué)比較好的,原來(lái)我劃的太多的了,其次是對(duì)于系統(tǒng)的安全登陸,現(xiàn)在小公司或者個(gè)人的做法是通過(guò)網(wǎng)絡(luò),直接使用帳號(hào)或者密碼直接登陸而相對(duì)大公司的做法是,先登陸relay中轉(zhuǎn)服務(wù)器,然后通過(guò)中轉(zhuǎn)服務(wù)器登陸到目標(biāo)服務(wù)器,這樣帳號(hào)會(huì)被記錄,安全性比較高,現(xiàn)在一般用了TOKEN,RSASecurID進(jìn)行密碼登陸,提高了整體的安全性了.
PHP調(diào)用shell命令
在之前沒(méi)有使用到php調(diào)用到shell來(lái)執(zhí)行一些額外的任務(wù),現(xiàn)在會(huì)經(jīng)常用到的了,這樣就可以做腳本之外的事情了,這點(diǎn)感覺(jué)比較方便
編碼習(xí)慣上對(duì)于編碼習(xí)慣,每個(gè)公司和團(tuán)隊(duì)往往使用的都不同,特別是編程IDE的不同導(dǎo)致了編碼規(guī)范的不同而約定也就不同的了,不過(guò)對(duì)于整體的習(xí)慣經(jīng)過(guò)團(tuán)隊(duì)全體人員的決議,就定下來(lái)了,這點(diǎn)在原來(lái)的小公司沒(méi)有要求的很嚴(yán)格,現(xiàn)在也是這樣的,看來(lái)這個(gè)和團(tuán)隊(duì)文化還是有很大關(guān)系的了,這點(diǎn)團(tuán)隊(duì)的人相處久了,自然就熟悉的了.
函數(shù)返回值
一般對(duì)于獲取失敗的返回值都返回的是false,對(duì)于出現(xiàn)的多種情況,返回int的數(shù)值,如果是數(shù)據(jù)則返回的是array或者其他,對(duì)于現(xiàn)在的函數(shù)由于memcache的使用,現(xiàn)在用了很多的函數(shù)內(nèi)的cache操作,返回值也是先從cache取得,如果沒(méi)有在到數(shù)據(jù)庫(kù)中取得,然后寫入cache,然后返回?cái)?shù)據(jù)
對(duì)于處理數(shù)據(jù)寫入原來(lái)的寫法是在$_POST && $_GET 過(guò)來(lái)的數(shù)據(jù),然后進(jìn)行addslashes處理,現(xiàn)在的做法是直接接收,然后進(jìn)行數(shù)據(jù)判斷是否符合要求,然后在拼接sql,然后對(duì)sql語(yǔ)句進(jìn)行mysql_escape_string處理,然后在讀出數(shù)據(jù)的時(shí)候,使用htmlspecialchars進(jìn)行處理,這樣顯示就沒(méi)有問(wèn)題的了.
鎖機(jī)制的PHP實(shí)現(xiàn)
前段時(shí)間寫過(guò)一篇文章并發(fā)下常見(jiàn)的加鎖及鎖的PHP具體實(shí)現(xiàn)
關(guān)于隊(duì)列的分發(fā)問(wèn)題
使用了MQ進(jìn)行Memcache數(shù)據(jù)的分發(fā),這點(diǎn)還沒(méi)弄明白,具體的實(shí)現(xiàn),得在請(qǐng)教的了
關(guān)于PHP的錯(cuò)誤級(jí)別的認(rèn)識(shí)
原來(lái)對(duì)于錯(cuò)誤級(jí)別,在開(kāi)發(fā)的時(shí)候用的都是比較輕的E_ALL | E_STRICT 現(xiàn)在換成了E_ALL & ~E_STRICT 養(yǎng)成變量定義的好習(xí)慣,使用時(shí)候初始化是比較必要的.
對(duì)于防止用戶發(fā)表違法信息及廣告的控制及用戶行為頻率的控制
對(duì)于用戶發(fā)布的廣告,違法信息都用SPAM系統(tǒng)進(jìn)行了控制,防止出現(xiàn)問(wèn)題,對(duì)于用戶行為進(jìn)行了限制,防止用戶過(guò)多的控制資源,對(duì)于系統(tǒng)中的變量不能使用自增的唯一ID,需要進(jìn)行加密處理,返回系統(tǒng)信息被其他人獲得.包括用戶ID,數(shù)據(jù)信息ID的加密處理
現(xiàn)在標(biāo)配的系統(tǒng)是 Linux + Nginx + PHP + MySQL ,這樣的配置越來(lái)越多的大公司在用的了說(shuō)到配置不同的是一個(gè)公司的規(guī)約,比如說(shuō)掛載一般分為2個(gè)盤, / 下面劃分為系統(tǒng)用的分區(qū)10G 足夠 剩余空間劃給/home的了.這點(diǎn)我感覺(jué)比較好的,原來(lái)我劃的太多的了,其次是對(duì)于系統(tǒng)的安全登陸,現(xiàn)在小公司或者個(gè)人的做法是通過(guò)網(wǎng)絡(luò),直接使用帳號(hào)或者密碼直接登陸而相對(duì)大公司的做法是,先登陸relay中轉(zhuǎn)服務(wù)器,然后通過(guò)中轉(zhuǎn)服務(wù)器登陸到目標(biāo)服務(wù)器,這樣帳號(hào)會(huì)被記錄,安全性比較高,現(xiàn)在一般用了TOKEN,RSASecurID進(jìn)行密碼登陸,提高了整體的安全性了.
PHP調(diào)用shell命令
在之前沒(méi)有使用到php調(diào)用到shell來(lái)執(zhí)行一些額外的任務(wù),現(xiàn)在會(huì)經(jīng)常用到的了,這樣就可以做腳本之外的事情了,這點(diǎn)感覺(jué)比較方便
編碼習(xí)慣上對(duì)于編碼習(xí)慣,每個(gè)公司和團(tuán)隊(duì)往往使用的都不同,特別是編程IDE的不同導(dǎo)致了編碼規(guī)范的不同而約定也就不同的了,不過(guò)對(duì)于整體的習(xí)慣經(jīng)過(guò)團(tuán)隊(duì)全體人員的決議,就定下來(lái)了,這點(diǎn)在原來(lái)的小公司沒(méi)有要求的很嚴(yán)格,現(xiàn)在也是這樣的,看來(lái)這個(gè)和團(tuán)隊(duì)文化還是有很大關(guān)系的了,這點(diǎn)團(tuán)隊(duì)的人相處久了,自然就熟悉的了.
函數(shù)返回值
一般對(duì)于獲取失敗的返回值都返回的是false,對(duì)于出現(xiàn)的多種情況,返回int的數(shù)值,如果是數(shù)據(jù)則返回的是array或者其他,對(duì)于現(xiàn)在的函數(shù)由于memcache的使用,現(xiàn)在用了很多的函數(shù)內(nèi)的cache操作,返回值也是先從cache取得,如果沒(méi)有在到數(shù)據(jù)庫(kù)中取得,然后寫入cache,然后返回?cái)?shù)據(jù)
對(duì)于處理數(shù)據(jù)寫入原來(lái)的寫法是在$_POST && $_GET 過(guò)來(lái)的數(shù)據(jù),然后進(jìn)行addslashes處理,現(xiàn)在的做法是直接接收,然后進(jìn)行數(shù)據(jù)判斷是否符合要求,然后在拼接sql,然后對(duì)sql語(yǔ)句進(jìn)行mysql_escape_string處理,然后在讀出數(shù)據(jù)的時(shí)候,使用htmlspecialchars進(jìn)行處理,這樣顯示就沒(méi)有問(wèn)題的了.
鎖機(jī)制的PHP實(shí)現(xiàn)
前段時(shí)間寫過(guò)一篇文章并發(fā)下常見(jiàn)的加鎖及鎖的PHP具體實(shí)現(xiàn)
關(guān)于隊(duì)列的分發(fā)問(wèn)題
使用了MQ進(jìn)行Memcache數(shù)據(jù)的分發(fā),這點(diǎn)還沒(méi)弄明白,具體的實(shí)現(xiàn),得在請(qǐng)教的了
關(guān)于PHP的錯(cuò)誤級(jí)別的認(rèn)識(shí)
原來(lái)對(duì)于錯(cuò)誤級(jí)別,在開(kāi)發(fā)的時(shí)候用的都是比較輕的E_ALL | E_STRICT 現(xiàn)在換成了E_ALL & ~E_STRICT 養(yǎng)成變量定義的好習(xí)慣,使用時(shí)候初始化是比較必要的.
對(duì)于防止用戶發(fā)表違法信息及廣告的控制及用戶行為頻率的控制
對(duì)于用戶發(fā)布的廣告,違法信息都用SPAM系統(tǒng)進(jìn)行了控制,防止出現(xiàn)問(wèn)題,對(duì)于用戶行為進(jìn)行了限制,防止用戶過(guò)多的控制資源,對(duì)于系統(tǒng)中的變量不能使用自增的唯一ID,需要進(jìn)行加密處理,返回系統(tǒng)信息被其他人獲得.包括用戶ID,數(shù)據(jù)信息ID的加密處理
相關(guān)文章
PHP實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)硬盤
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)硬盤,涉及php動(dòng)態(tài)創(chuàng)建文件夾及文件上傳的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07thinkphp5.1 框架鉤子和行為用法實(shí)例分析
這篇文章主要介紹了thinkphp5.1 框架鉤子和行為用法,結(jié)合實(shí)例形式分析了thinkphp5.1 框架鉤子和行為基本功能、定義、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05PHP面向?qū)ο蟪绦蛟O(shè)計(jì)OOP繼承用法入門示例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)OOP繼承用法,結(jié)合簡(jiǎn)單實(shí)例形式分析了php類的定義與繼承使用方法,需要的朋友可以參考下2016-12-12使用GDB調(diào)試PHP代碼,解決PHP代碼死循環(huán)問(wèn)題
這篇文章主要介紹了使用GDB調(diào)試PHP代碼,解決PHP代碼死循環(huán)問(wèn)題,需要的朋友可以參考下2015-03-03