pHp開源項(xiàng)目一下三件事解析請求、三個(gè)框架的能力

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

本文著眼于讀者的需求,不斷更新

首先建議學(xué)習(xí)一個(gè)基于pHp的web框架

建議先學(xué)習(xí)幾個(gè)框架,Yii2、,

pHp 是為 Web 應(yīng)用程序而生的。幾乎所有知名的 pHp 項(xiàng)目都是 Web 應(yīng)用程序。任何 Web 應(yīng)用程序或多或少都依賴于一個(gè) Web 框架,無論是項(xiàng)目本身構(gòu)建的輪子,還是基于其他框架的項(xiàng)目。

所以,學(xué)習(xí)pHp開源項(xiàng)目,最重要的就是學(xué)習(xí)pHp框架。

簡單來說,pHp Web 框架的一個(gè)必要組件會(huì)做三件事:

解析請求,獲取輸入定位執(zhí)行器,執(zhí)行響應(yīng)后將輸入發(fā)送給指定的執(zhí)行器執(zhí)行輸出,獲得輸出

以上三點(diǎn)其實(shí)都和MVC有關(guān)。對于web框架,除了MVC和View之外,沒有一個(gè)MVC是框架自帶的,可以用其他獨(dú)立的開源組件代替。

為什么要同時(shí)推薦 Yii2、 和三個(gè)框架?因?yàn)檫@三個(gè)框架各有特點(diǎn),相輔相成,共同學(xué)習(xí)后,對理解其他pHp開源Web項(xiàng)目會(huì)有很大幫助。吸取了各個(gè)框架的精華后,使用任何框架的能力都可以得到很大的提升。給大家解釋一下。

先說說 Yii2

Yii2 的優(yōu)點(diǎn)是簡單易懂。因?yàn)榈拇a,使用了很多中間件和事件驅(qū)動(dòng)的概念,你會(huì)發(fā)現(xiàn)從入口.php中很難知道如何調(diào)用某個(gè)特定的,因?yàn)樗前l(fā)現(xiàn)并調(diào)用了Web框架的核心功能,如果這很難理解,就很難真正掌握框架本身,而Yii2的優(yōu)勢就體現(xiàn)在這一點(diǎn)上。

理解Yii2的執(zhí)行過程很簡單。從.php進(jìn)入后,首先會(huì)看到讀取的配置文件,通過配置文件進(jìn)行初始化,調(diào)用run方法。在run方法中,可以清晰的看到采集和處理的過程。在處理過程中,先分析獲取,再根據(jù)發(fā)現(xiàn),執(zhí)行過程也很清晰。

Yii2 的另一個(gè)特點(diǎn)是類繼承的廣泛使用。首先定義了\yii\base\類,定義了構(gòu)造函數(shù)和魔術(shù)方法等。在\yii\base\的基礎(chǔ)上擴(kuò)展為\yii\base\類,添加事件和特性來擴(kuò)展類的能力。在\yii\base\擴(kuò)展為\yii\base\類的基礎(chǔ)上,增加了屬性校驗(yàn)功能,用于接收和校驗(yàn)外部輸入。基于\yii\base\擴(kuò)展為\yii\db\,用于添加數(shù)據(jù)持久化和相關(guān)數(shù)據(jù)獲取功能。

這種基于漸進(jìn)式集成的擴(kuò)展,可以清晰地定義每一層的功能,方便用戶理解,并且允許用戶選擇性地?cái)U(kuò)展自己的類php開發(fā)框架流行度排名,有點(diǎn)類似于典型的java應(yīng)用。但是,這也有明顯的缺點(diǎn)。因?yàn)榛?Yii2 的開發(fā)或多或少需要繼承 \yii\base\ 類,所以這些開發(fā)的輸出,包括擴(kuò)展、模塊,很難與其他框架兼容。正因如此,Yii2社區(qū)中創(chuàng)建的東西的影響力無法傳播到其他框架的用戶,導(dǎo)致其知名度低,基礎(chǔ)高。如果大家有興趣,我會(huì)在后面介紹如何在Yii2中借用和寫出更好的代碼。

Yii2 被稱為開箱即用的 Web,一站式 Web 框架,它是有道理的。一方面,框架本身就包含了構(gòu)建網(wǎng)站所需的各種功能,無需到處選擇合適的組件來創(chuàng)建自己的應(yīng)用程序。另一方面,一旦選擇了這個(gè)框架,它就取決于整個(gè)框架。僅使用框架的一小部分或?qū)F(xiàn)有工作遷移到其他框架是困難的。

Yii2 與 , 的意識(shí)形態(tài)對比

我們在生活中會(huì)遇到很多人,聽過很多意見,也有過很多討論。漸漸地,我發(fā)現(xiàn)人與人之間的區(qū)別,其實(shí)就在于價(jià)值觀、世界觀和人生觀。

一個(gè)人之所以會(huì)這樣,是因?yàn)樗扔幸恍┙?jīng)驗(yàn),根據(jù)這些經(jīng)驗(yàn)總結(jié)出一些規(guī)律,并根據(jù)規(guī)律提出一些假設(shè),然后他會(huì)不斷驗(yàn)證和確認(rèn)提出的假設(shè)。這些假設(shè)雖然不正確,但決定了大多數(shù)人的行為方式。同一個(gè)群體的人互相影響,假設(shè)變成意識(shí)形態(tài)。

這一段為什么這樣開頭,看完下面的對比你就明白了。

雖然我還沒有介紹和,但我想用一些框架和社交系統(tǒng)來做一個(gè)類比,幫助你有個(gè)基本的了解。

Yii2 社區(qū)就像一個(gè)中心化的社會(huì)。大哥會(huì)為您處理所有大事。社區(qū)的工作以老大哥為中心。大哥會(huì)負(fù)責(zé)版本迭代的兼容性。在工作中,社區(qū)也會(huì)做他們需要的擴(kuò)展,但是你專門為大哥做的擴(kuò)展在其他社區(qū)很難輕易使用,也很難擴(kuò)大他們的影響力。當(dāng)然,事情不是一成不變的。核心團(tuán)隊(duì)和社區(qū)也意識(shí)到了這個(gè)問題。 Yii3 正在嘗試將框架拆分成獨(dú)立的部分,遵循 pSR 等一定的標(biāo)準(zhǔn),將框架轉(zhuǎn)變?yōu)橐粋€(gè)可以獨(dú)立使用的基于組件的框架。

而且他就像一個(gè)去中心化的社會(huì),你可以把我當(dāng)成一個(gè)框架,但是這個(gè)框架的概念其實(shí)是由幾個(gè)可以單獨(dú)使用的小組件組合而成的,其中一個(gè)把其他的組件組織起來就成了一個(gè)框架。雖然不需要使用整個(gè)框架,但可以使用框架的一部分。小部件可能功能不全,您可能不喜歡里面的小部件php開發(fā)框架流行度排名,但您可以找到您喜歡的小部件的替代品。至于你找到的那個(gè)好不好,你自己去琢磨。至于我的版本迭代的兼容性,我不保證。

那為什么這些框架會(huì)有這么大的區(qū)別呢?因?yàn)檫@些框架是由不同背景的人制作的,所以不同背景的人有不同的意識(shí)形態(tài)。

Yii 的創(chuàng)始人薛是中國人。目前,Yii 有一名全職開發(fā)人員,他是俄羅斯人。我們知道,在全球所有活躍的開發(fā)者社區(qū)中,中國和俄羅斯社區(qū)最受歡迎。不難理解,Yii2 也體現(xiàn)了集體主義的意識(shí)形態(tài)。

創(chuàng)作者

是土生土長的美國阿肯色州人,現(xiàn)任主力后衛(wèi)是比利時(shí)人。相對而言,這是一個(gè)自由和去中心化最為重要的國家,也不難理解,它處處體現(xiàn)著去中心化的思想。

插頁式廣告:開源項(xiàng)目的可持續(xù)發(fā)展僅靠社區(qū)是很難的,特別是考慮到Y(jié)ii3的進(jìn)展并不如預(yù)期,所以我們發(fā)起募款支持某人,以確保Yii的發(fā)展全面-時(shí)間。也希望能號召像我們這樣的Yii用戶受益人捐款,支持Yii社區(qū)越來越好。

那就說說吧

//待辦事項(xiàng)

最后介紹

//待辦事項(xiàng)

幾個(gè)優(yōu)秀的pHp開源應(yīng)用項(xiàng)目

漸進(jìn)式和深度學(xué)習(xí)可以產(chǎn)生真正的見解,否則知識(shí)將浮出水面。說完框架,我覺得最好的辦法就是趁熱打鐵,學(xué)習(xí)基于這些框架的優(yōu)秀開源項(xiàng)目。我選擇了三個(gè)我熟悉的項(xiàng)目給大家做一個(gè)基本的講解,希望能幫助大家獲得更多的見解。

基于 Yii2

//待辦事項(xiàng)

基于

//待辦事項(xiàng)

基于

//待辦事項(xiàng)

網(wǎng)頁標(biāo)題:pHp開源項(xiàng)目一下三件事解析請求、三個(gè)框架的能力
文章分享:http://www.muchs.cn/news14/295664.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、響應(yīng)式網(wǎng)站、企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)App設(shè)計(jì)、營銷型網(wǎng)站建設(shè)

廣告

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

小程序開發(fā)