2023-12-03 分類: 網(wǎng)站建設(shè)
本文介紹了框架源碼分析模型的原理和用法。分享給大家,供大家參考,如下:
前言
提前祝猿猴國慶快樂。吃好,喝好,玩好。我會在電視上看你。
按照單一職責開發(fā)的原則,每個表都要在開發(fā)過程中建立對外服務(wù)和調(diào)用。類似這樣
應(yīng)用\;
使用\\\;
用戶
{
$ ='';
}
分析
有兩種數(shù)據(jù)操作
數(shù)據(jù)庫
ORM
除了自身的特點外,基本的數(shù)據(jù)操作都是通過\\\調(diào)用方式來完成整個SQL。您還可以使用此類作為整個 SQL 操作的基類。本課程涵蓋以下操作方法(部分展示)
方法
($ = ['*'])
($, $as)
($, $ = [])
($, $as)
($, $ = [])
($)
()
來自($)
join($, $, $ = null, $ = null, $type ='', $ = )
($, $, $, $, $type ='')
($, $as, $, $ = null, $ = null, $type ='', $ = )
($, $, $ = null, $ = null)
($, $ = null, $ = null, $='and')
($, $ = null, $ = null)
($sql, $ = [], $='and')
($, $, $='and', $not = )
($, $)
可以看出中文網(wǎng)站或官方文檔中沒有體現(xiàn)的方法有很多,所以即使你想精通一個框架,也離不開看它的源代碼。這個文件在你項目目錄的///src//下,你可以自己查一下。
數(shù)據(jù)庫
一般情況下php 框架源碼分析,你可能會寫這樣的操作
Db::('user')->get();
這個操作的第一個指向的是文件,但是不在app.php中,而是直接通過內(nèi)核加載。它在
\\ -> ()
注冊。門面直接調(diào)用\\類。
()
{
([
...
'' => [\\\::, \\\\::],
'db' => [\\\::],
'db.' => [\\\::, \\\::],
'' => [\\\::, \\\\::],
'' => [\\\::],
....
)
}
\\里面的代碼不多php 框架源碼分析,主要是處理數(shù)據(jù)庫鏈接。當你使用 Db::() 時,它會通過
($, $)
{
$this->()->$(...$);
}
為了轉(zhuǎn)發(fā),它調(diào)用\\,用戶處理的()方法,然后通過()方法指向\\類。這個類我們一開始講過,這里就不講了,接下來是各種sql的拼接->執(zhí)行sql->結(jié)束戰(zhàn)斗
ORM
ORM與Db類似,首先每個ORM都需要繼承父類\\\
你可以這樣寫
用戶::查找(1)
該方法在父類中不存在,會通過
($, $)
{
(new )->$(...$);
}
轉(zhuǎn)發(fā)請求調(diào)用。一樣的
用戶::get()
通過了
($, $)
{
if (($, ['',''])) {
$this->$(...$);
}
$this->()->$(...$);
}
調(diào)用,這個方法最后以new()結(jié)束,
($)
{
新的($);
}
最后,我們在\\\文件下。這個類涵蓋了O??RM的基本操作,比如find等,如果你在代碼中使用了get方法,抱歉,這里沒有,它還是會通過方法將你的請求轉(zhuǎn)發(fā)給\\\類
$this->->{$}(...$);
至此,整個數(shù)據(jù)操作完成。
希望本文對基于pHp編程框架的大家有所幫助。
文章名稱:實例講述框架源碼解析之模型原理與用法(一)
網(wǎng)站地址:http://m.newbst.com/news39/298539.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計、商城網(wǎng)站、ChatGPT、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容