Laravel 原始碼分析——Eloquent 的工作原理簡析

HuNanZai發表於2017-05-12

file

物件 職責
Model 1. 呼叫的入口 2. 提供陣列->Models的轉化方法
Eloquent\Builder 傳遞人(傳遞呼叫的方法, 傳遞執行的結果等)
Query\Builder 1. 記錄一些臨時資訊(where, order等) 2. 執行sql獲取結果

總結

不是還有insert\update\delete嗎?——這些原理也是一樣的, 但是會因為沒有特殊的返回結果所以實現上有點差異

不是還有Relations嗎?——今天這個只是帶大家簡單的剖析Eloquent\Model的基本原理, 後面可以再一起看下複雜的關係是如何實現的.

所以其實Eloquent\Model只是對於資料庫記錄的一種物件化的呈現, 其實完全也可以把這種抽象運用在別的後端上面, 比如假設後端是個api的話有沒有辦法也像呼叫Model一樣使用呢?

相關文章