PHP開發(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í),這好乘國慶長假這段時(shí)間好好的總結(jié)下的了.
Linux系統(tǒng)的使用
現(xiàn)在標(biāo)配的系統(tǒng)是 Linux + Nginx + PHP + MySQL ,這樣的配置越來越多的大公司在用的了說到配置不同的是一個(gè)公司的規(guī)約,比如說掛載一般分為2個(gè)盤, / 下面劃分為系統(tǒng)用的分區(qū)10G 足夠 剩余空間劃給/home的了.這點(diǎn)我感覺比較好的,原來我劃的太多的了,其次是對于系統(tǒng)的安全登陸,現(xiàn)在小公司或者個(gè)人的做法是通過網(wǎng)絡(luò),直接使用帳號(hào)或者密碼直接登陸而相對大公司的做法是,先登陸relay中轉(zhuǎn)服務(wù)器,然后通過中轉(zhuǎn)服務(wù)器登陸到目標(biāo)服務(wù)器,這樣帳號(hào)會(huì)被記錄,安全性比較高,現(xiàn)在一般用了TOKEN,RSASecurID進(jìn)行密碼登陸,提高了整體的安全性了.
PHP調(diào)用shell命令
在之前沒有使用到php調(diào)用到shell來執(zhí)行一些額外的任務(wù),現(xiàn)在會(huì)經(jīng)常用到的了,這樣就可以做腳本之外的事情了,這點(diǎn)感覺比較方便
編碼習(xí)慣上對于編碼習(xí)慣,每個(gè)公司和團(tuán)隊(duì)往往使用的都不同,特別是編程IDE的不同導(dǎo)致了編碼規(guī)范的不同而約定也就不同的了,不過對于整體的習(xí)慣經(jīng)過團(tuán)隊(duì)全體人員的決議,就定下來了,這點(diǎn)在原來的小公司沒有要求的很嚴(yán)格,現(xiàn)在也是這樣的,看來這個(gè)和團(tuán)隊(duì)文化還是有很大關(guān)系的了,這點(diǎn)團(tuán)隊(duì)的人相處久了,自然就熟悉的了.
函數(shù)返回值
一般對于獲取失敗的返回值都返回的是false,對于出現(xiàn)的多種情況,返回int的數(shù)值,如果是數(shù)據(jù)則返回的是array或者其他,對于現(xiàn)在的函數(shù)由于memcache的使用,現(xiàn)在用了很多的函數(shù)內(nèi)的cache操作,返回值也是先從cache取得,如果沒有在到數(shù)據(jù)庫中取得,然后寫入cache,然后返回?cái)?shù)據(jù)
對于處理數(shù)據(jù)寫入原來的寫法是在$_POST && $_GET 過來的數(shù)據(jù),然后進(jìn)行addslashes處理,現(xiàn)在的做法是直接接收,然后進(jìn)行數(shù)據(jù)判斷是否符合要求,然后在拼接sql,然后對sql語句進(jìn)行mysql_escape_string處理,然后在讀出數(shù)據(jù)的時(shí)候,使用htmlspecialchars進(jìn)行處理,這樣顯示就沒有問題的了.
鎖機(jī)制的PHP實(shí)現(xiàn)
前段時(shí)間寫過一篇文章并發(fā)下常見的加鎖及鎖的PHP具體實(shí)現(xiàn)
關(guān)于隊(duì)列的分發(fā)問題
使用了MQ進(jìn)行Memcache數(shù)據(jù)的分發(fā),這點(diǎn)還沒弄明白,具體的實(shí)現(xiàn),得在請教的了
關(guān)于PHP的錯(cuò)誤級別的認(rèn)識(shí)
原來對于錯(cuò)誤級別,在開發(fā)的時(shí)候用的都是比較輕的E_ALL | E_STRICT 現(xiàn)在換成了E_ALL & ~E_STRICT 養(yǎng)成變量定義的好習(xí)慣,使用時(shí)候初始化是比較必要的.
對于防止用戶發(fā)表違法信息及廣告的控制及用戶行為頻率的控制
對于用戶發(fā)布的廣告,違法信息都用SPAM系統(tǒng)進(jìn)行了控制,防止出現(xiàn)問題,對于用戶行為進(jìn)行了限制,防止用戶過多的控制資源,對于系統(tǒng)中的變量不能使用自增的唯一ID,需要進(jìn)行加密處理,返回系統(tǒng)信息被其他人獲得.包括用戶ID,數(shù)據(jù)信息ID的加密處理
現(xiàn)在標(biāo)配的系統(tǒng)是 Linux + Nginx + PHP + MySQL ,這樣的配置越來越多的大公司在用的了說到配置不同的是一個(gè)公司的規(guī)約,比如說掛載一般分為2個(gè)盤, / 下面劃分為系統(tǒng)用的分區(qū)10G 足夠 剩余空間劃給/home的了.這點(diǎn)我感覺比較好的,原來我劃的太多的了,其次是對于系統(tǒng)的安全登陸,現(xiàn)在小公司或者個(gè)人的做法是通過網(wǎng)絡(luò),直接使用帳號(hào)或者密碼直接登陸而相對大公司的做法是,先登陸relay中轉(zhuǎn)服務(wù)器,然后通過中轉(zhuǎn)服務(wù)器登陸到目標(biāo)服務(wù)器,這樣帳號(hào)會(huì)被記錄,安全性比較高,現(xiàn)在一般用了TOKEN,RSASecurID進(jìn)行密碼登陸,提高了整體的安全性了.
PHP調(diào)用shell命令
在之前沒有使用到php調(diào)用到shell來執(zhí)行一些額外的任務(wù),現(xiàn)在會(huì)經(jīng)常用到的了,這樣就可以做腳本之外的事情了,這點(diǎn)感覺比較方便
編碼習(xí)慣上對于編碼習(xí)慣,每個(gè)公司和團(tuán)隊(duì)往往使用的都不同,特別是編程IDE的不同導(dǎo)致了編碼規(guī)范的不同而約定也就不同的了,不過對于整體的習(xí)慣經(jīng)過團(tuán)隊(duì)全體人員的決議,就定下來了,這點(diǎn)在原來的小公司沒有要求的很嚴(yán)格,現(xiàn)在也是這樣的,看來這個(gè)和團(tuán)隊(duì)文化還是有很大關(guān)系的了,這點(diǎn)團(tuán)隊(duì)的人相處久了,自然就熟悉的了.
函數(shù)返回值
一般對于獲取失敗的返回值都返回的是false,對于出現(xiàn)的多種情況,返回int的數(shù)值,如果是數(shù)據(jù)則返回的是array或者其他,對于現(xiàn)在的函數(shù)由于memcache的使用,現(xiàn)在用了很多的函數(shù)內(nèi)的cache操作,返回值也是先從cache取得,如果沒有在到數(shù)據(jù)庫中取得,然后寫入cache,然后返回?cái)?shù)據(jù)
對于處理數(shù)據(jù)寫入原來的寫法是在$_POST && $_GET 過來的數(shù)據(jù),然后進(jìn)行addslashes處理,現(xiàn)在的做法是直接接收,然后進(jìn)行數(shù)據(jù)判斷是否符合要求,然后在拼接sql,然后對sql語句進(jìn)行mysql_escape_string處理,然后在讀出數(shù)據(jù)的時(shí)候,使用htmlspecialchars進(jìn)行處理,這樣顯示就沒有問題的了.
鎖機(jī)制的PHP實(shí)現(xiàn)
前段時(shí)間寫過一篇文章并發(fā)下常見的加鎖及鎖的PHP具體實(shí)現(xiàn)
關(guān)于隊(duì)列的分發(fā)問題
使用了MQ進(jìn)行Memcache數(shù)據(jù)的分發(fā),這點(diǎn)還沒弄明白,具體的實(shí)現(xiàn),得在請教的了
關(guān)于PHP的錯(cuò)誤級別的認(rèn)識(shí)
原來對于錯(cuò)誤級別,在開發(fā)的時(shí)候用的都是比較輕的E_ALL | E_STRICT 現(xiàn)在換成了E_ALL & ~E_STRICT 養(yǎng)成變量定義的好習(xí)慣,使用時(shí)候初始化是比較必要的.
對于防止用戶發(fā)表違法信息及廣告的控制及用戶行為頻率的控制
對于用戶發(fā)布的廣告,違法信息都用SPAM系統(tǒng)進(jìn)行了控制,防止出現(xiàn)問題,對于用戶行為進(jìn)行了限制,防止用戶過多的控制資源,對于系統(tǒng)中的變量不能使用自增的唯一ID,需要進(jìn)行加密處理,返回系統(tǒng)信息被其他人獲得.包括用戶ID,數(shù)據(jù)信息ID的加密處理
相關(guān)文章
php中sprintf與printf函數(shù)用法區(qū)別解析
這篇文章主要介紹了php中sprintf與printf函數(shù)用法區(qū)別解析,需要的朋友可以參考下2014-02-02
講解WordPress中用于獲取評論模板和搜索表單的PHP函數(shù)
這篇文章主要介紹了WordPress中用于獲取評論模板和搜索表單的PHP函數(shù),需要的朋友可以參考下2015-12-12
PHP JSON出錯(cuò):Cannot use object of type stdClass as array解決方法
這篇文章主要介紹了PHP JSON出錯(cuò):Cannot use object of type stdClass as array解決方法,需要的朋友可以參考下2014-08-08
工廠模式在Zend Framework中應(yīng)用介紹
在Zend Framework中,使用了多種設(shè)計(jì)模式。其中對數(shù)據(jù)庫的封裝,用到了工廠模式2012-07-07
PHP變量作用域(全局變量&局部變量)&global&static關(guān)鍵字用法實(shí)例分析
這篇文章主要介紹了PHP變量作用域(全局變量&局部變量)&global&static關(guān)鍵字用法,結(jié)合實(shí)例形式分析了PHP全局變量與局部變量的作用域,以及global、static關(guān)鍵字功能與使用技巧,需要的朋友可以參考下2020-01-01

