真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

composer自動(dòng)加載器優(yōu)化的方法-創(chuàng)新互聯(lián)

這篇文章主要介紹了composer自動(dòng)加載器優(yōu)化的方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在南城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,南城網(wǎng)站建設(shè)費(fèi)用合理。

自動(dòng)加載器優(yōu)化

通常情況下,Composer 的自動(dòng)加載器運(yùn)行速度相對而言是比較快的。 但是,由于 PSR-4 和 PSR-0 的自動(dòng)加載規(guī)則是在最終解析一個(gè)類之前需要去檢查文件系統(tǒng)。這會導(dǎo)致自動(dòng)加載的速度變得相當(dāng)緩慢,但在開發(fā)環(huán)境中,這會是一種非常便捷的加載方式,因?yàn)楫?dāng)你新建了一個(gè)類時(shí),加載器會立即發(fā)現(xiàn)并使用該類,而不需要你去重建自動(dòng)加載器的配置。

這種加載規(guī)則導(dǎo)致的問題在生產(chǎn)環(huán)境中才真正體現(xiàn)出來,在生產(chǎn)環(huán)境中,你可以在每次部署之前非常輕松的重建配置,而且在部署之間不會隨機(jī)出現(xiàn)新類,因此你不需要其一直檢查文件系統(tǒng),你通常都希望自動(dòng)加載能盡可能快速的完成。

出于以上原因,Composer 提供了一些自動(dòng)加載器的優(yōu)化策略。

注意:你不應(yīng)該在開發(fā)環(huán)境下使用本文所述的任何一種優(yōu)化策略,因?yàn)檫@會導(dǎo)致你在添加或移除類時(shí)出現(xiàn)各種問題。事實(shí)上,在開發(fā)環(huán)境中應(yīng)用這些設(shè)置所帶來的性能提升和其所帶來的問題相比,是遠(yuǎn)遠(yuǎn)不值得的。

優(yōu)化級別 1:類映射生成

怎么運(yùn)行它呢?

有幾個(gè)選項(xiàng)可以啟用此功能:

在 composer.json 的配置中設(shè)置 "optimize-autoloader": true

使用 -o / --optimize-autoloader 調(diào)用安裝或更新

使用 -o / --optimize 調(diào)用 dump-autoload

它有什么作用?

類映射生成實(shí)質(zhì)上是將 PSR-4/PSR-0 規(guī)則轉(zhuǎn)換為類映射規(guī)則。這使得一切都快很多,因?yàn)橐阎念愑成鋾⒓捶祷芈窂剑?Composer 可以保證類在那里,因此不需要文件系統(tǒng)檢查。

在 PHP 5.6+ 中,類映射也緩存在 opcache 中,這大大改善了初始化時(shí)間。如果確保啟用了 opcache ,那么類映射應(yīng)該會立即加載,類加載也會很快。

權(quán)衡

這種方法沒有真正的權(quán)衡。它應(yīng)該始終在生產(chǎn)中啟用。

的問題是它沒有跟蹤自動(dòng)加載 (即,當(dāng)它找不到給定的類時(shí)),因此那些回退到 PSR-4 的規(guī)則仍然有可能導(dǎo)致文件系統(tǒng)檢查速度變慢。要解決此問題,存在兩個(gè)二級優(yōu)化選項(xiàng),如果您對項(xiàng)目中不存在的類執(zhí)行了大量的 class_exists 檢查, 那么可以決定啟用這兩個(gè)選項(xiàng)。

優(yōu)化級別 2/A :權(quán)威類映射

怎么啟用它呢?

有幾個(gè)選項(xiàng)可以啟用此功能:

在 composer.json 的 config 鍵中設(shè)置 "classmap-authoritative": true

使用 -a / --classmap-authoritative 調(diào)用安裝或更新

使用 -a / --classmap-authoritative 調(diào)用  dump-autoload

它有什么作用呢?

啟用此選項(xiàng)會自動(dòng)啟用 1 級類映射優(yōu)化。

這個(gè)選項(xiàng)很簡單,它說如果在類圖中找不到某些東西,那么它就不存在,自動(dòng)加載器不應(yīng)該根據(jù) PSR-4 規(guī)則試圖查看文件系統(tǒng)。

權(quán)衡

此選項(xiàng)能使自動(dòng)裝填器始終快速返回。另一方面,它還意味著如果由于某種原因在運(yùn)行時(shí)生成類,則不允許自動(dòng)加載。如果您的項(xiàng)目或任何依賴項(xiàng)執(zhí)行此操作,那么您可能會在生產(chǎn)中遇到 “未找到類” 的問題。小心啟用它。

注意:這不能與級別 2/B 優(yōu)化結(jié)合使用。您必須選擇一個(gè),因?yàn)樗鼈円圆煌姆绞浇鉀Q相同的問題。

優(yōu)化級別 2/B: APCu 緩存

怎么啟用它呢?

有個(gè)選項(xiàng)可以啟用此功能:

在 composer.json 的配置鍵中設(shè)置 "apcu-autoloader": true

使用 --apcu-autoloader 調(diào)用安裝或更新

使用  --apcu 調(diào)用 dump-autoload

它有什么作用?

此選項(xiàng)將 APCu 緩存添加為類映射的備用。它不會自動(dòng)生成類映射,因此如果您愿意,仍需手動(dòng)啟用 1 級優(yōu)化。

無論是否找到類,該事實(shí)總是緩存在 APCu 中,因此可以在下一個(gè)請求時(shí)快速返回。

權(quán)衡

此選項(xiàng)需要 APCu ,它可能對您有用也可能不適用。它還使用 APCu 內(nèi)存進(jìn)行自動(dòng)加載,但它是安全使用的,并且不會導(dǎo)致找不到類,如上面的權(quán)威類映射優(yōu)化。

注意:這不能與級別 2/A 優(yōu)化結(jié)合使用。您必須選擇一個(gè),因?yàn)樗鼈円圆煌姆绞浇鉀Q相同的問題。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“composer自動(dòng)加載器優(yōu)化的方法”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


文章題目:composer自動(dòng)加載器優(yōu)化的方法-創(chuàng)新互聯(lián)
當(dāng)前URL:http://weahome.cn/article/dhdcjc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部