- 相關(guān)推薦
php程序員最容易出現(xiàn)的幾個(gè)錯(cuò)誤
每個(gè)人都會(huì)犯錯(cuò),程序員的程序也不例外。下面是小編幫大家整理的php程序員最容易出現(xiàn)的幾個(gè)錯(cuò)誤,供大家參考借鑒,希望可以幫助到有需要的朋友。
1、不轉(zhuǎn)意html entities
一個(gè)基本的常識(shí):所有不可信任的輸入(特別是用戶從form中提交的數(shù)據(jù)) ,輸出之前都要轉(zhuǎn)意。
echo $_GET[usename] ;
這個(gè)例子有可能輸出:
這是一個(gè)明顯的安全隱患,除非你保證你的用戶都正確的輸入。
如何修復(fù) :
我們需要將"< ",">","and" 等轉(zhuǎn)換成正確的HTML表示(< , >, and "),函數(shù)htmlspecialchars 和 htmlentities()正是干這個(gè)活的。
正確的方法:
echo htmlspecialchars($_GET[username], ENT_QUOTES);
2、語(yǔ)法錯(cuò)誤
語(yǔ)法錯(cuò)誤包括所有的詞法和語(yǔ)法錯(cuò)誤,太常見(jiàn)了,以至于我不得不在這里列出。解決辦法就是認(rèn)真學(xué)習(xí)PHP的語(yǔ)法,仔細(xì)一點(diǎn)不要漏掉一個(gè)括號(hào),大括號(hào),分號(hào),引號(hào)。還有就是換個(gè)好的編輯器,就不要用記事本了!
3、很少使用或不用面向?qū)ο?/strong>
很多的項(xiàng)目都沒(méi)有使用PHP的面向?qū)ο蠹夹g(shù),結(jié)果就是代碼的維護(hù)變得非常耗時(shí)耗力。PHP支持的面向?qū)ο蠹夹g(shù)越來(lái)越多,越來(lái)越好,我們沒(méi)有理由不使用面向?qū)ο蟆?/p>
4、使用舊版本的PHP
很多程序員還在使用PHP4,在PHP4上開(kāi)發(fā)不能充分發(fā)揮PHP的潛能,還存在一些安全的隱患。轉(zhuǎn)到PHP5上來(lái)吧,并不費(fèi)很多功夫。大部分PHP4程序只要改動(dòng)很少的語(yǔ)句甚至無(wú)需改動(dòng)就可以遷移到PHP5上來(lái)。只有12%的PHP服務(wù)器使用PHP5,所以有88%的PHP開(kāi)發(fā)者還在使用PHP4.
還有一種PHP程序員最容易出現(xiàn)錯(cuò)誤的情況就是,用戶一開(kāi)始輸入了錯(cuò)誤的登錄信息,服務(wù)器檢測(cè)到錯(cuò)誤輸入后,輸出同樣的form要求用戶再次輸入,導(dǎo)致用戶的輸入轉(zhuǎn)意兩次!
5、CRUD,代碼能跑起來(lái)就行
大多數(shù)的程序員在寫代碼的時(shí)候,都只關(guān)心這個(gè)程序能不能跑起來(lái),而這恰恰就是普通程序員和高手程序員之間的分水嶺。客觀地看,你是只會(huì)面向搜索引擎編程,還是能夠?qū)懗龈哔|(zhì)量的代碼?亦或是能在大型項(xiàng)目中參與設(shè)計(jì)實(shí)施?有很多程序員,在一家公司一待就是好多年,技術(shù)也隨之停留在了剛?cè)肼毲疑杏袑W(xué)習(xí)熱情的那半年,等到有一天公司內(nèi)部結(jié)構(gòu)優(yōu)化,等待他們的只能是被裁掉的命運(yùn)。到那個(gè)時(shí)候,相信不會(huì)再有一家公司愿意以高薪聘請(qǐng)只會(huì)CRUD(Create、Read、Update、Delete)的他們,而在網(wǎng)上鼓吹“35歲危機(jī)”的,或許就是這部分人。所以,相較于埋頭苦摳代碼,你需要有更寬廣的思維,勇于從所在項(xiàng)目和崗位上跳出來(lái),站在行業(yè)視角重新俯瞰自己的定位,相信你會(huì)有不一樣的發(fā)現(xiàn)。
6、只選擇自己熟悉的技術(shù)棧
當(dāng)你創(chuàng)建一個(gè)項(xiàng)目時(shí),是會(huì)學(xué)習(xí)一個(gè)新的技術(shù)棧,還是選擇用自己熟悉的技術(shù)棧?相信大部分人都會(huì)選擇前者。Angular一定是前端最好的框架嗎?后端開(kāi)發(fā)一定要用Spring Boot嗎?未必,那為什么大家還是選擇自己最熟悉的技術(shù)棧?因?yàn)樗麄儾⒉涣私馄渌募夹g(shù)。看到這里,有的人可能會(huì)說(shuō),“我做的項(xiàng)目類型都差不多,已有的解決方案足夠成熟,沒(méi)必要花費(fèi)時(shí)間和精力學(xué)習(xí)新的技術(shù),而且老板肯定也不會(huì)因?yàn)槟阋獙W(xué)一個(gè)新的東西而延后上線時(shí)間”,這種想法在現(xiàn)實(shí)中確實(shí)存在,但從長(zhǎng)遠(yuǎn)來(lái)看,在舒適圈躺平對(duì)個(gè)人的成長(zhǎng)百害而無(wú)一利。在學(xué)習(xí)新技術(shù)的過(guò)程中,你會(huì)看到一種新的思路、新的解決方案,只有終身學(xué)習(xí)的心態(tài)程序員才能不被滾滾的科技浪潮所淘汰。
7、我的代碼不可能有Bug,都是產(chǎn)品經(jīng)理的鍋
國(guó)內(nèi)很多程序員和產(chǎn)品經(jīng)理的關(guān)系并不融洽,這一點(diǎn)可以體現(xiàn)在方方面面,比如當(dāng)產(chǎn)品經(jīng)理提出需求變動(dòng)的時(shí)候,程序員多半會(huì)吐槽“早干嘛去了,來(lái)來(lái)回回改需求,想清楚功能再提需求有那么難嗎?”再比如當(dāng)客戶提出一些看似“莫名其妙”需求的時(shí)候,程序員則會(huì)將炮火對(duì)準(zhǔn)產(chǎn)品經(jīng)理,“為什么不在客戶面前據(jù)理力爭(zhēng),這個(gè)需求實(shí)現(xiàn)不了”。
拋開(kāi)對(duì)產(chǎn)品經(jīng)理的“偏見(jiàn)”,程序員會(huì)有這些“吐槽”的根本原因在于對(duì)項(xiàng)目的不了解。程序員關(guān)注的點(diǎn)往往在技術(shù)實(shí)現(xiàn)與細(xì)節(jié)上,相對(duì)缺乏對(duì)項(xiàng)目的整體把控能力。一個(gè)完整的項(xiàng)目需要在考慮預(yù)算的同時(shí)兼顧技術(shù)實(shí)現(xiàn),在滿足客戶需求的同時(shí)還要重視用戶體驗(yàn),還有業(yè)務(wù)環(huán)境、市場(chǎng)變化等無(wú)數(shù)不確定因素。從另一個(gè)角度來(lái)看,程序員只有站在整體項(xiàng)目的角度,才能對(duì)項(xiàng)目有更深入的理解,實(shí)現(xiàn)高效編程。
8、吃完程序員“青春飯”就退休
很多程序員對(duì)自己的職業(yè)規(guī)劃就是在35歲之前頻繁跳槽漲薪,盡可能積累更多的財(cái)富,然后回老家找一份安穩(wěn)的工作坐等退休。他們的想法很現(xiàn)實(shí),對(duì)自己的定義也非常清晰,唯一的遺憾是他們不相信自己可以憑借技術(shù)在業(yè)內(nèi)長(zhǎng)久立足。對(duì)于這些人來(lái)說(shuō),擺正心態(tài)才是第一位的,程序員的魅力不就在于通過(guò)代碼改變世界嗎?只有當(dāng)你站得位置足夠高,才不用擔(dān)心內(nèi)卷。
【php程序員最容易出現(xiàn)的幾個(gè)錯(cuò)誤】相關(guān)文章:
PHP程序員最容易犯的11個(gè)MySQL錯(cuò)誤03-15
科目一最容易出現(xiàn)錯(cuò)誤的十道題05-14
總結(jié)PHP初學(xué)者常犯的幾個(gè)錯(cuò)誤05-06
面試最容易犯的錯(cuò)誤06-07
科目三最容易出現(xiàn)的失誤12-15
PHP程序員容易忽略的知識(shí)點(diǎn)01-10
幾個(gè)php技巧04-20