W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
啟動(dòng)引導(dǎo)是指:在應(yīng)用開始解析并處理新接受請求之前,一個(gè)預(yù)先準(zhǔn)備環(huán)境的過程。啟動(dòng)引導(dǎo)會(huì)在兩個(gè)地方具體進(jìn)行:入口腳本(Entry Script)?和?應(yīng)用主體(application)。
在入口腳本里,需注冊各個(gè)類庫的類文件自動(dòng)加載器(Class Autoloader,簡稱自動(dòng)加載器)。這主要包括通過其?autoload.php
?文件加載的 Composer 自動(dòng)加載器,以及通過?Yii
?類加載的 Yii 自動(dòng)加載器。之后,入口腳本會(huì)加載應(yīng)用的?配置(configuration)?并創(chuàng)建一個(gè)?應(yīng)用主體?的實(shí)例。
在應(yīng)用主體的構(gòu)造函數(shù)中,會(huì)執(zhí)行以下引導(dǎo)工作:
vendor/yiisoft/extensions.php
。因?yàn)橐龑?dǎo)工作必須在處理每一次請求之前都進(jìn)行一遍,因此讓該過程盡可能輕量化就異常重要,請盡可能地優(yōu)化這一步驟。
請盡量不要注冊太多引導(dǎo)組件。只有他需要在 HTTP 請求處理的全部生命周期中都作用時(shí)才需要使用它。舉一個(gè)用到它的范例:一個(gè)模塊需要注冊額外的 URL 解析規(guī)則,就應(yīng)該把它列在應(yīng)用的?bootstrap 屬性之中,這樣該 URL 解析規(guī)則才能在解析請求之前生效。(譯注:換言之,為了性能需要,除了 URL 解析等少量操作之外,絕大多數(shù)組件都應(yīng)該按需加載,而不是都放在引導(dǎo)過程中。)
在生產(chǎn)環(huán)境中,可以開啟字節(jié)碼緩存,比如 APC,來進(jìn)一步最小化加載和解析 PHP 文件所需的時(shí)間。
一些大型應(yīng)用都包含有非常復(fù)雜的應(yīng)用配置,它們會(huì)被分割到許多更小的配置文件中。此時(shí),可以考慮將整個(gè)配置數(shù)組緩存起來,并在入口腳本創(chuàng)建應(yīng)用實(shí)例之前直接從緩存中加載。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: