使用框架和原生php開發(fā)的性能和安全問題怎么考慮?
不管哪種編程語言,隨著發(fā)展都衍生出了很多框架,框架的目的是為了提高開發(fā)效率而生的。很多人會糾結于PHP框架與原生代碼之間,性能與安全性孰高孰低,其實這都取決于開發(fā)者自身。
為什么會存在框架?我們知道PHP原生代碼只是提供基礎的內置函數(shù)和類庫支持,不同的人可以寫出不同風格的代碼。對于大型項目而言,一個人的能力是有限的,所以需要很多人協(xié)同開發(fā),這樣問題就來了,每個人的代碼風格和邏輯思維是不同的,團隊開發(fā)時會使項目變得難以維護。
基于這種考慮,就需要有一套規(guī)范,框架就是這樣的一套規(guī)范,你使用這個框架就必須遵守望它所規(guī)定的約束,使用框架開發(fā)就使得項目易于維護(代碼風格、命名規(guī)范、邏輯處理都是相對統(tǒng)一的)。
另外一方面,框架還提供了很多現(xiàn)成的機制(功能封裝),簡化了開發(fā)難度,很多工作不需要從零開始,使得項目開發(fā)速度很快。
框架與原生的比較1、框架性能上一般低于原生代碼:
上面說到,框架提供了很多功能的封裝,另外還有一些約束檢查。框架為了通用性,做了很多額外的工作,所以一般來說,實現(xiàn)同樣一個需求,基于框架開發(fā)的性能低于使用原生代碼開發(fā)的。
2、框架的安全性一般高于原生代碼:
框架在設計之初就會考慮安全問題,比如對用戶提交的數(shù)據(jù)做了一些過濾處理等;而原生代碼顆粒度都是非常小的,安全問題需要開發(fā)者自己去實現(xiàn)。
但這并不是說使用了框架就能100%保證業(yè)務安全性,無論是使用框架還是原生代碼開發(fā)的項目,其安全系數(shù)完全取決于開發(fā)者在這方面的處理。
綜合而言,無論項目大小,都建議基于框架開發(fā),因為框架帶來的額外性能開銷是可以通過其它手段彌補的(比如:緩存、硬件配置)。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流 ~ 我是科技領域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗,歡迎關注我了解更多科技知識!