php7性能原理,php7卓越性能背后的原理有哪些?
噴答主 @朱涵俊 說php沒法常駐內存的人,是沒理解答主的意思,看不下去了我要出來解釋一波。本來想發評論下面的結果字數限制。。匿了
-------------------技術分割線------------------
99%的網站都會用到mvc架構,那php的框架是怎么工作的呢?首先網站根目錄會一個apache的配置文件,也就是.htaccess,這個文件告訴apache將所有的請求重定向到index.php,也就是框架的入口文件,然后框架會根據url來匹配對應的路由,沒錯這一層就是MVC的Controller部分,然后如果路由匹配成功就會執行路由下面程序員寫的業務邏輯代碼,但業務里面是需要經常訪問數據庫的,如果一條一條的拼接sql語句那就太麻煩了,所以這時候就要把對數據庫的操作按目的的封裝成一個個可重用的模塊,沒錯這一層就是MVC里面的Model層,然后通過Model拿到所需的數據后要呈現給用戶啊,最后終于輪到View層出馬了,view層是由程序員編寫的網頁模板文件和渲染引擎構成的,將參數和模板文件傳給模板引擎,最后模板引擎將渲染完成后的html代碼返回給apache,apache再將網頁返回給用戶的瀏覽器解析。
從用戶點擊一個鏈接到看到網頁,也就一眨眼的功夫,沒想到php經歷了這么多~聰明的你發現了嗎?用戶每點一次鏈接,php都會從頭從index.php入口文件開始執行,直到最后view渲染出頁面~omg我大php表示我的心真的好累~
回到正題,答主一再強調“php每次都要從頭執行代碼!從頭執行代碼!從頭執行代碼!”,你們真的有聽明白嗎?
為什么說這點是php相比較其他語言慢的原因,你想想啊一個普通的php框架代碼量再怎么也有2、3M吧,也就是說每收到一個請求php都會載入一次框架然后從頭開始執行,還要執行程序員寫的業務邏輯代碼。但是java或者nodejs等就不一樣了,這些語言寫的網站也會用到框架,但是他們的代碼和框架是常駐內存的,也就是說每次收到請求后直接就可以立即執行程序員的業務代碼了,而不用像php那樣要先載入框架controller層解析路由然后再載入model層解析模型代碼最后再載入view層解析模板~
這雖然不是php相對較慢的主要原因,但這絕對是php相對其他語言效率較低的重要原因之一,這并不是php爛而是跟php的運行機制有很大原因,以言論僅代表個人立場。大概就這樣,沒事找事挑刺兒挑我語法問題的人請走開。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的php7性能原理,php7卓越性能背后的原理有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据项目需求分析
- 下一篇: php自动报价,使用PHP转换所有类型的