摘要:簡述的生命周期采用了單一入口模式,應(yīng)用的所有請求入口都是文件。分發(fā)請求一旦應(yīng)用完成引導(dǎo)和所有服務(wù)提供者都注冊完成,將會移交給路由進行分發(fā)。此外,由于對動態(tài)方法的獨特用法,也使測試起來非常容易。
本書的 GitHub 地址:https://github.com/todayqq/PH...
Laravel 作為現(xiàn)在最流行的 PHP 框架,其中的知識較多,所以多帶帶拿出來寫一篇。
簡述 Laravel 的生命周期
Laravel 采用了單一入口模式,應(yīng)用的所有請求入口都是 public/index.php 文件。
注冊類文件自動加載器 : Laravel通過 composer 進行依賴管理,無需開發(fā)者手動導(dǎo)入各種類文件,而由自動加載器自行導(dǎo)入。
創(chuàng)建服務(wù)容器:從 bootstrap/app.php 文件中取得 Laravel 應(yīng)用實例 $app (服務(wù)容器)
創(chuàng)建 HTTP / Console 內(nèi)核:傳入的請求會被發(fā)送給 HTTP 內(nèi)核或者 console 內(nèi)核進行處理
載入服務(wù)提供者至容器:
在內(nèi)核引導(dǎo)啟動的過程中最重要的動作之一就是載入服務(wù)提供者到你的應(yīng)用,服務(wù)提供者負責(zé)引導(dǎo)啟動框架的全部各種組件,例如數(shù)據(jù)庫、隊列、驗證器以及路由組件。
分發(fā)請求:一旦應(yīng)用完成引導(dǎo)和所有服務(wù)提供者都注冊完成,Request 將會移交給路由進行分發(fā)。路由將分發(fā)請求給一個路由或控制器,同時運行路由指定的中間件
服務(wù)提供者是什么?
服務(wù)提供者是所有 Laravel 應(yīng)用程序引導(dǎo)啟動的中心, Laravel 的核心服務(wù)器、注冊服務(wù)容器綁定、事件監(jiān)聽、中間件、路由注冊以及我們的應(yīng)用程序都是由服務(wù)提供者引導(dǎo)啟動的。
IoC 容器是什么?
IoC(Inversion of Control)譯為 「控制反轉(zhuǎn)」,也被叫做「依賴注入」(DI)。什么是「控制反轉(zhuǎn)」?對象 A 功能依賴于對象 B,但是控制權(quán)由對象 A 來控制,控制權(quán)被顛倒,所以叫做「控制反轉(zhuǎn)」,而「依賴注入」是實現(xiàn) IoC 的方法,就是由 IoC 容器在運行期間,動態(tài)地將某種依賴關(guān)系注入到對象之中。其作用簡單來講就是利用依賴關(guān)系注入的方式,把復(fù)雜的應(yīng)用程序分解為互相合作的對象,從而降低解決問題的復(fù)雜度,實現(xiàn)應(yīng)用程序代碼的低耦合、高擴展。
Laravel 中的服務(wù)容器是用于管理類的依賴和執(zhí)行依賴注入的工具。
Facades 是什么?
Facades(一種設(shè)計模式,通常翻譯為外觀模式)提供了一個"static"(靜態(tài))接口去訪問注冊到 IoC 容器中的類。提供了簡單、易記的語法,而無需記住必須手動注入或配置的長長的類名。此外,由于對 PHP 動態(tài)方法的獨特用法,也使測試起來非常容易。
Contract 是什么?
Contract(契約)是 laravel 定義框架提供的核心服務(wù)的接口。Contract 和 Facades 并沒有本質(zhì)意義上的區(qū)別,其作用就是使接口低耦合、更簡單。
依賴注入的原理?
這個不解釋,這是理解 IoC 容器的前提。
談?wù)?Laravel 和 YII 框架的區(qū)別
在 YII 框架中的路由是通過書寫 Controller、Action 間接定義路由,而 Laravel 中是在 route 路由文件中直接定義路由入口
Laravel 提供 ORM 對象關(guān)系映射,使讀寫數(shù)據(jù)庫的操作更加簡單
Laravel 提供更多的 Artisan 命令和腳手架開發(fā)
Laravel 的 Composer 擴展包比 Yii 框架更多,開發(fā)更加高效
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28157.html
摘要:擴展閱讀收集的前端面試題和答案前端開發(fā)面試題史上最全的前端面試題匯總及答案前端工程師手冊協(xié)議工作原理協(xié)議運行機制的概述 本書的 GitHub 地址:https://github.com/todayqq/PH... 對于大公司,很少會有全棧工程師這個崗位,全棧是個花哨的詞,對于現(xiàn)在比較熱門的技術(shù),不論是 Vue 還是 Laravel,只要智商不差,看著文檔,都能寫出一個 CURD 來,...
摘要:先說一下面試時的心態(tài),剛?cè)腴T的程序員,技術(shù)實力不高,又大多不善言談,面試一旦遇到難題,很容易心態(tài)失衡驚慌失措語無倫次,最終丟掉了。其實大可不必,心態(tài)坦然,是面試必備的一點。 本書的 GitHub 地址:https://github.com/todayqq/PH... 作為一位程序員,面試過多次,也面試過很多人,最近又在找工作,總結(jié)一下面試經(jīng)驗和面試題,希望可以幫到正在找工作的小伙伴們...
摘要:前端篇收集的前端面試題和答案前端開發(fā)面試題史上最全的前端面試題匯總及答案前端工程師手冊協(xié)議工作原理協(xié)議運行機制的概述協(xié)議篇原理原理解析的工作原理與的區(qū)別理解后端篇年的面試總結(jié)垃圾回收機制面向?qū)ο笤O(shè)計淺談?wù)f清楚是什么和的區(qū)別索引原理及慢查 前端篇 收集的前端面試題和答案 前端開發(fā)面試題 史上最全的web前端面試題匯總及答案 前端工程師手冊 HTTP協(xié)議:工作原理 SSL/TLS協(xié)議運行...
摘要:本書的地址篇收集了一些常見的基礎(chǔ)進階面試題,基礎(chǔ)的面試題不再作答。如何實現(xiàn)持久化持久化,將在內(nèi)存中的的狀態(tài)保存到硬盤中,相當于備份數(shù)據(jù)庫狀態(tài)。相當于備份數(shù)據(jù)庫接收到的命令,所有被寫入的命令都是以的協(xié)議格式來保存的。 本書的 GitHub 地址:https://github.com/todayqq/PH... PHP 篇收集了一些常見的基礎(chǔ)、進階面試題,基礎(chǔ)的面試題不再作答。 基礎(chǔ)篇 ...
閱讀 4002·2021-11-24 09:38
閱讀 1271·2021-10-19 11:42
閱讀 1859·2021-10-14 09:42
閱讀 2187·2019-08-30 15:44
閱讀 572·2019-08-30 14:04
閱讀 2922·2019-08-30 13:13
閱讀 1983·2019-08-30 12:51
閱讀 997·2019-08-30 11:22