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