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 框架,無(wú)論是項(xiàng)目本身構(gòu)建的輪子,還是基于其他框架的項(xiàng)目。
所以,學(xué)習(xí)pHp開(kāi)源項(xiàng)目,最重要的就是學(xué)習(xí)pHp框架。
簡(jiǎn)單來(lái)說(shuō),pHp Web 框架的一個(gè)必要組件會(huì)做三件事:
解析請(qǐng)求,獲取輸入定位執(zhí)行器,執(zhí)行響應(yīng)后將輸入發(fā)送給指定的執(zhí)行器執(zhí)行輸出,獲得輸出
以上三點(diǎn)其實(shí)都和MVC有關(guān)。對(duì)于web框架,除了MVC和View之外,沒(méi)有一個(gè)MVC是框架自帶的,可以用其他獨(dú)立的開(kāi)源組件代替。
為什么要同時(shí)推薦 Yii2、 和三個(gè)框架?因?yàn)檫@三個(gè)框架各有特點(diǎn),相輔相成,共同學(xué)習(xí)后,對(duì)理解其他pHp開(kāi)源Web項(xiàng)目會(huì)有很大幫助。吸取了各個(gè)框架的精華后,使用任何框架的能力都可以得到很大的提升。給大家解釋一下。
先說(shuō)說(shuō) Yii2
Yii2 的優(yōu)點(diǎn)是簡(jiǎ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)勢(shì)就體現(xiàn)在這一點(diǎn)上。
理解Yii2的執(zhí)行過(guò)程很簡(jiǎn)單。從.php進(jìn)入后,首先會(huì)看到讀取的配置文件,通過(guò)配置文件進(jìn)行初始化,調(diào)用run方法。在run方法中,可以清晰的看到采集和處理的過(guò)程。在處理過(guò)程中,先分析獲取,再根據(jù)發(fā)現(xiàn),執(zhí)行過(guò)程也很清晰。
Yii2 的另一個(gè)特點(diǎn)是類繼承的廣泛使用。首先定義了\yii\base\類,定義了構(gòu)造函數(shù)和魔術(shù)方法等。在\yii\base\的基礎(chǔ)上擴(kuò)展為\yii\base\類,添加事件和特性來(lái)擴(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開(kāi)發(fā)框架流行度排名,有點(diǎn)類似于典型的java應(yīng)用。但是,這也有明顯的缺點(diǎn)。因?yàn)榛?Yii2 的開(kāi)發(fā)或多或少需要繼承 \yii\base\ 類,所以這些開(kāi)發(fā)的輸出,包括擴(kuò)展、模塊,很難與其他框架兼容。正因如此,Yii2社區(qū)中創(chuàng)建的東西的影響力無(wú)法傳播到其他框架的用戶,導(dǎo)致其知名度低,基礎(chǔ)高。如果大家有興趣,我會(huì)在后面介紹如何在Yii2中借用和寫(xiě)出更好的代碼。
Yii2 被稱為開(kāi)箱即用的 Web,一站式 Web 框架,它是有道理的。一方面,框架本身就包含了構(gòu)建網(wǎng)站所需的各種功能,無(wú)需到處選擇合適的組件來(lái)創(chuàng)建自己的應(yīng)用程序。另一方面,一旦選擇了這個(gè)框架,它就取決于整個(gè)框架。僅使用框架的一小部分或?qū)F(xiàn)有工作遷移到其他框架是困難的。
Yii2 與 , 的意識(shí)形態(tài)對(duì)比
我們?cè)谏钪袝?huì)遇到很多人,聽(tīng)過(guò)很多意見(jiàn),也有過(guò)很多討論。漸漸地,我發(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)。
這一段為什么這樣開(kāi)頭,看完下面的對(duì)比你就明白了。
雖然我還沒(méi)有介紹和,但我想用一些框架和社交系統(tǒng)來(lái)做一個(gè)類比,幫助你有個(gè)基本的了解。
Yii2 社區(qū)就像一個(gè)中心化的社會(huì)。大哥會(huì)為您處理所有大事。社區(qū)的工作以老大哥為中心。大哥會(huì)負(fù)責(zé)版本迭代的兼容性。在工作中,社區(qū)也會(huì)做他們需要的擴(kuò)展,但是你專門(mén)為大哥做的擴(kuò)展在其他社區(qū)很難輕易使用,也很難擴(kuò)大他們的影響力。當(dāng)然,事情不是一成不變的。核心團(tuán)隊(duì)和社區(qū)也意識(shí)到了這個(gè)問(wèn)題。 Yii3 正在嘗試將框架拆分成獨(dú)立的部分,遵循 pSR 等一定的標(biāo)準(zhǔn),將框架轉(zhuǎn)變?yōu)橐粋€(gè)可以獨(dú)立使用的基于組件的框架。
而且他就像一個(gè)去中心化的社會(huì),你可以把我當(dāng)成一個(gè)框架,但是這個(gè)框架的概念其實(shí)是由幾個(gè)可以單獨(dú)使用的小組件組合而成的,其中一個(gè)把其他的組件組織起來(lái)就成了一個(gè)框架。雖然不需要使用整個(gè)框架,但可以使用框架的一部分。小部件可能功能不全,您可能不喜歡里面的小部件php開(kāi)發(fā)框架流行度排名,但您可以找到您喜歡的小部件的替代品。至于你找到的那個(gè)好不好,你自己去琢磨。至于我的版本迭代的兼容性,我不保證。
那為什么這些框架會(huì)有這么大的區(qū)別呢?因?yàn)檫@些框架是由不同背景的人制作的,所以不同背景的人有不同的意識(shí)形態(tài)。
Yii 的創(chuàng)始人薛是中國(guó)人。目前,Yii 有一名全職開(kāi)發(fā)人員,他是俄羅斯人。我們知道,在全球所有活躍的開(kāi)發(fā)者社區(qū)中,中國(guó)和俄羅斯社區(qū)最受歡迎。不難理解,Yii2 也體現(xiàn)了集體主義的意識(shí)形態(tài)。
創(chuàng)作者
是土生土長(zhǎng)的美國(guó)阿肯色州人,現(xiàn)任主力后衛(wèi)是比利時(shí)人。相對(duì)而言,這是一個(gè)自由和去中心化最為重要的國(guó)家,也不難理解,它處處體現(xiàn)著去中心化的思想。
插頁(yè)式廣告:開(kāi)源項(xiàng)目的可持續(xù)發(fā)展僅靠社區(qū)是很難的,特別是考慮到Y(jié)ii3的進(jìn)展并不如預(yù)期,所以我們發(fā)起募款支持某人,以確保Yii的發(fā)展全面-時(shí)間。也希望能號(hào)召像我們這樣的Yii用戶受益人捐款,支持Yii社區(qū)越來(lái)越好。
那就說(shuō)說(shuō)吧
//待辦事項(xiàng)
最后介紹
//待辦事項(xiàng)
幾個(gè)優(yōu)秀的pHp開(kāi)源應(yīng)用項(xiàng)目
漸進(jìn)式和深度學(xué)習(xí)可以產(chǎn)生真正的見(jiàn)解,否則知識(shí)將浮出水面。說(shuō)完框架,我覺(jué)得最好的辦法就是趁熱打鐵,學(xué)習(xí)基于這些框架的優(yōu)秀開(kāi)源項(xiàng)目。我選擇了三個(gè)我熟悉的項(xiàng)目給大家做一個(gè)基本的講解,希望能幫助大家獲得更多的見(jiàn)解。
基于 Yii2
//待辦事項(xiàng)
基于
//待辦事項(xiàng)
基于
//待辦事項(xiàng)
網(wǎng)頁(yè)標(biāo)題:pHp開(kāi)源項(xiàng)目一下三件事解析請(qǐng)求、三個(gè)框架的能力
文章分享:http://www.rwnh.cn/news14/295664.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、響應(yīng)式網(wǎng)站、企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容