實(shí)例講述框架源碼解析之模型原理與用法(一)

2023-12-03    分類: 網(wǎng)站建設(shè)

本文介紹了框架源碼分析模型的原理和用法。分享給大家,供大家參考,如下:

前言

提前祝猿猴國(guó)慶快樂(lè)。吃好,喝好,玩好。我會(huì)在電視上看你。

按照單一職責(zé)開(kāi)發(fā)的原則,每個(gè)表都要在開(kāi)發(fā)過(guò)程中建立對(duì)外服務(wù)和調(diào)用。類似這樣

應(yīng)用\;

使用\\\;

用戶

{

$ ='';

}

分析

有兩種數(shù)據(jù)操作

數(shù)據(jù)庫(kù)

ORM

除了自身的特點(diǎn)外,基本的數(shù)據(jù)操作都是通過(guò)\\\調(diào)用方式來(lái)完成整個(gè)SQL。您還可以使用此類作為整個(gè) SQL 操作的基類。本課程涵蓋以下操作方法(部分展示)

方法

($ = ['*'])

($, $as)

($, $ = [])

($, $as)

($, $ = [])

($)

()

來(lái)自($)

join($, $, $ = null, $ = null, $type ='', $ = )

($, $, $, $, $type ='')

($, $as, $, $ = null, $ = null, $type ='', $ = )

($, $, $ = null, $ = null)

($, $ = null, $ = null, $='and')

($, $ = null, $ = null)

($sql, $ = [], $='and')

($, $, $='and', $not = )

($, $)

可以看出中文網(wǎng)站或官方文檔中沒(méi)有體現(xiàn)的方法有很多,所以即使你想精通一個(gè)框架,也離不開(kāi)看它的源代碼。這個(gè)文件在你項(xiàng)目目錄的///src//下,你可以自己查一下。

數(shù)據(jù)庫(kù)

一般情況下php 框架源碼分析,你可能會(huì)寫(xiě)這樣的操作

Db::('user')->get();

這個(gè)操作的第一個(gè)指向的是文件,但是不在app.php中,而是直接通過(guò)內(nèi)核加載。它在

\\ -> ()

注冊(cè)。門(mén)面直接調(diào)用\\類。

()

{

([

...

'' => [\\\::, \\\\::],

'db' => [\\\::],

'db.' => [\\\::, \\\::],

'' => [\\\::, \\\\::],

'' => [\\\::],

....

)

}

\\里面的代碼不多php 框架源碼分析,主要是處理數(shù)據(jù)庫(kù)鏈接。當(dāng)你使用 Db::() 時(shí),它會(huì)通過(guò)

($, $)

{

$this->()->$(...$);

}

為了轉(zhuǎn)發(fā),它調(diào)用\\,用戶處理的()方法,然后通過(guò)()方法指向\\類。這個(gè)類我們一開(kāi)始講過(guò),這里就不講了,接下來(lái)是各種sql的拼接->執(zhí)行sql->結(jié)束戰(zhàn)斗

ORM

ORM與Db類似,首先每個(gè)ORM都需要繼承父類\\\

你可以這樣寫(xiě)

用戶::查找(1)

該方法在父類中不存在,會(huì)通過(guò)

($, $)

{

(new )->$(...$);

}

轉(zhuǎn)發(fā)請(qǐng)求調(diào)用。一樣的

用戶::get()

通過(guò)了

($, $)

{

if (($, ['',''])) {

$this->$(...$);

}

$this->()->$(...$);

}

調(diào)用,這個(gè)方法最后以new()結(jié)束,

($)

{

新的($);

}

最后,我們?cè)赲\\文件下。這個(gè)類涵蓋了O??RM的基本操作,比如find等,如果你在代碼中使用了get方法,抱歉,這里沒(méi)有,它還是會(huì)通過(guò)方法將你的請(qǐng)求轉(zhuǎn)發(fā)給\\\類

$this->->{$}(...$);

至此,整個(gè)數(shù)據(jù)操作完成。

希望本文對(duì)基于pHp編程框架的大家有所幫助。

文章名稱:實(shí)例講述框架源碼解析之模型原理與用法(一)
網(wǎng)站地址:http://www.bm7419.com/news39/298539.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、ChatGPT、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)