国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Web 應(yīng)用程式的結(jié)構(gòu)
都是抽象的
WordPress 的元件
事件驅(qū)動(dòng)意味著什麼?
那我們的新架構(gòu)是什麼?
下一個(gè)...
首頁 CMS教程 &#&按 重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)

重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)

Sep 01, 2023 pm 08:25 PM
wordpress web開發(fā) 架構(gòu)重構(gòu)

在本系列中,我們將討論如何使用 WordPress 建立 Web 應(yīng)用程式。儘管這不是我們將研究程式碼的技術(shù)系列,但我們涵蓋了框架、基礎(chǔ)、設(shè)計(jì)模式、架構(gòu)等主題。

如果您還沒有閱讀該系列的第一篇文章,我推薦您閱讀;但是,出於本文的目的,我們可以將上一篇文章總結(jié)如下:

簡而言之,軟體可以建構(gòu)在框架上,軟體可以擴(kuò)展基礎(chǔ)。

簡單地說,我們區(qū)分了框架和基礎(chǔ)——這兩個(gè)術(shù)語在軟體中經(jīng)常互換使用,儘管它們不是同一件事。 WordPress 是一個(gè)基礎(chǔ),因?yàn)樗旧砭褪且粋€(gè)應(yīng)用程式。它不是一個(gè)框架。

為此,當(dāng)涉及在 WordPress 上建立 Web 應(yīng)用程式時(shí),我們需要重新思考架構(gòu)或重新考慮如何建立應(yīng)用程式的概念模型。


Web 應(yīng)用程式的結(jié)構(gòu)

在盡可能高的層級(jí)上,Web 應(yīng)用程式通常由以下三個(gè)元件構(gòu)成:

  1. 資料庫層
  2. 應(yīng)用層
  3. 表示層

一般來說,表示層就是使用者看到的、使用者互動(dòng)的。它包括將某些內(nèi)容呈現(xiàn)在使用者面前所需的所有樣式、客戶端程式碼和標(biāo)記。

當(dāng)使用者點(diǎn)擊某些內(nèi)容或頁面呈現(xiàn)從資料庫檢索的資訊時(shí),它正在與應(yīng)用程式層進(jìn)行互動(dòng)。

應(yīng)用層負(fù)責(zé)協(xié)調(diào)來自瀏覽器和/或來自使用者操作的資訊到資料庫。有時(shí),這包括將資訊寫入資料庫(例如來自表單欄位的資訊)以及從資料庫讀取資訊(例如檢索使用者的帳戶資訊)。

就像表示層由不同的元件組成(例如樣式、JavaScript、標(biāo)記等)一樣,應(yīng)用程式層也可以由各種不同的元件組成,例如從資料庫讀取資料和寫入資料到資料庫所需的系統(tǒng)、清理資訊、驗(yàn)證資訊以及執(zhí)行針對(duì)當(dāng)前問題所特有的某些規(guī)則。

最後,資料庫層是儲(chǔ)存資料的地方。它可能由檔案系統(tǒng)組成,可能由 MySQL 資料庫組成,也可能由第三方解決方案組成,例如「雲(yún)端」的資料儲(chǔ)存(例如 Amazon S3 或類似的東西)。

都是抽象的

要理解的重點(diǎn)是,在軟體中,我們總是在處理某種程度的抽象。例如,我們談?wù)撡Y料儲(chǔ)存或資料庫層,但我們並沒有真正具體化。應(yīng)用層和表示層也是如此。

  • 我們是在談?wù)摼哂卸鄠€(gè)表格的關(guān)聯(lián)式資料庫,還是在談?wù)撾?yún)端儲(chǔ)存?
  • 我們將使用哪種資料存取層連接到應(yīng)用程式層來與資料庫通訊?
  • 我們在前端使用哪些框架和語言?普通 JavaScript、jQuery、Knockout.js? CSS 預(yù)處理器 - LESS 或 Sass 怎麼樣?

顯然,我們現(xiàn)在並不打算提供這些問題的答案,但重點(diǎn)是所有 Web 應(yīng)用程式都包含類似的元件,但每個(gè)元件的詳細(xì)資訊因?qū)0付悺?


WordPress 的元件

作為一個(gè) Web 應(yīng)用程式本身,WordPress 是各種技術(shù)如何組合在一起形成 Web 應(yīng)用程式的完美範(fàn)例:

  1. 資料庫層是MySQL資料庫。
  2. 應(yīng)用層(有些人會(huì)認(rèn)為是 WordPress 本身)是用 PHP 編寫的,處理許多讀取和寫入資料儲(chǔ)存的核心操作,同時(shí)為開發(fā)人員提供 API 以進(jìn)一步利用它。
  3. 表示層使用基本的CSS(至少目前如此)、HTML(一些主題現(xiàn)在使用HTML5)、jQuery,並且部分儀表板使用Backbone.js。

這是 WordPress 架構(gòu),但是我們想要在應(yīng)用程式之上建立的專案又如何呢?他們?nèi)绾巫裱嗤募軜?gòu)?

好吧,請記住 WordPress 是一個(gè)基礎(chǔ) - 而不是一個(gè)框架 - 因此我們預(yù)設(shè)受到 WordPress 架構(gòu)的影響。這並不意味著在某些情況下我們不能引入自己的程式庫,但它確實(shí)會(huì)影響我們應(yīng)用程式和專案的建置方式。

稍後我們將更多地討論庫、可擴(kuò)展性等,但首先,重要的是要注意,在當(dāng)今時(shí)代,重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)(以及MVVM 和模型、視圖等的其他變體)範(fàn)例風(fēng)靡一時(shí),但WordPress遵循這個(gè)慣例。

對(duì)於為什麼這可能是好事或壞事,存在著支持和反對(duì)的爭論,但這不是這篇文章的目的。相反,值得注意的是 WordPress 使用事件驅(qū)動(dòng)模式,而不是模型視圖控制面板。

為此,值得了解事件驅(qū)動(dòng)模型的工作原理,以便您清楚地了解 WordPress 掛鉤的工作原理,以及如何將您的思維從 重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā) 或您使用的任何其他範(fàn)式轉(zhuǎn)變使用、WordPress 如何管理其資訊。


事件驅(qū)動(dòng)意味著什麼?

在查看事件驅(qū)動(dòng)應(yīng)用程式的範(fàn)例之前,讓我們回顧一下遵循 重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā) 範(fàn)例的含義。

  • 首先,視圖用作演示。用戶查看資訊並與用戶介面互動(dòng)。
  • 接下來,控制器協(xié)調(diào)模型和視圖之間的資訊。它們響應(yīng)用戶操作,並從模型中檢索資訊以傳輸?shù)揭晥D中。
  • 之後,模型代表資料庫中的資料。這可以透過多種方式完成,但最受歡迎的方法之一是將資料庫中的資料映射到物件關(guān)係模型,以便資料以物件的格式表示。

整個(gè)重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)模型如下圖所示:

重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)

重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)圖標(biāo)題>

現(xiàn)在,事件驅(qū)動(dòng)的應(yīng)用程式可以具有一些相同的元件- 也就是說,它們可以具有視圖和模型或視圖和資料物件- 但它們不一定具有協(xié)調(diào)從前端到後端的資訊的控制器後端。

相反,事件驅(qū)動(dòng)程式設(shè)計(jì)的工作前提是「某件事發(fā)生了」。因此,在 WordPress 行話中,操作 被命名為「操作」(當(dāng)然,我們也有過濾器,但我將立即介紹這些內(nèi)容)。

WordPress 提供了鉤子,這些鉤子實(shí)際上是執(zhí)行中的點(diǎn),我們可以在其中引入自己的功能,以便WordPress 識(shí)別「當(dāng)此事件發(fā)生時(shí),我需要觸發(fā)這些函數(shù)”,其中這些函數(shù)被定義為我們提供的任何內(nèi)容。

事實(shí)是,過濾器的工作方式相同,但目的不同。簡而言之,過濾器是用於在返回應(yīng)用程式執(zhí)行之前以某種方式操作資料(例如附加、前置、刪除或更新內(nèi)容)的操作。

那麼這看起來像什麼?

重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)

活動(dòng)

沒什麼特別複雜的,對(duì)吧?


那我們的新架構(gòu)是什麼?

本文的要點(diǎn)主要是讓我們思考事件驅(qū)動(dòng)程式設(shè)計(jì)以及如何協(xié)調(diào)我們專門在 WordPress 上建立 Web 應(yīng)用程式的工作。

也就是說,我們必須根據(jù)事件或「發(fā)生了一些事情」的事實(shí)來思考,這樣我們才能知道何時(shí)適當(dāng)?shù)夭迦胛覀冏约旱男袆?dòng)。我們將在下一篇文章中更詳細(xì)地討論這一點(diǎn),但我希望你們從這篇特定文章中學(xué)到的要點(diǎn)是,僅僅因?yàn)槟承〇|西不是重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)(或任何下一個(gè)流行的範(fàn)例) )並不意味著它不適合應(yīng)用程式開發(fā)。

每種模式和架構(gòu)都為我們提供了優(yōu)點(diǎn)和缺點(diǎn),所有這些都有助於成功建立 Web 應(yīng)用程式。


下一個(gè)...

在本系列的下一篇中,我們將更詳細(xì)地了解掛鉤如何在WordPress 上建立Web 應(yīng)用程式中發(fā)揮重要作用,然後我們將開始研究WordPress 提供的一些功能-使其成為某些類型(並非所有類型)網(wǎng)頁應(yīng)用程式的可靠選擇。

#

以上是重新構(gòu)思架構(gòu):將WordPress用於網(wǎng)頁應(yīng)用程式開發(fā)的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

wordpress文章列表怎麼調(diào) wordpress文章列表怎麼調(diào) Apr 20, 2025 am 10:48 AM

有四種方法可以調(diào)整 WordPress 文章列表:使用主題選項(xiàng)、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設(shè)置)或直接修改 WordPress 數(shù)據(jù)庫。

為Web開發(fā)者準(zhǔn)備的10個(gè)最新工具 為Web開發(fā)者準(zhǔn)備的10個(gè)最新工具 May 07, 2025 pm 04:48 PM

Web開發(fā)設(shè)計(jì)是一個(gè)充滿潛力的職業(yè)領(lǐng)域。然而,這個(gè)行業(yè)也面臨著諸多挑戰(zhàn)。隨著越來越多的企業(yè)和品牌轉(zhuǎn)向網(wǎng)絡(luò)市場,Web開發(fā)者有機(jī)會(huì)展示他們的技能並在職業(yè)生涯中取得成功。然而,隨著對(duì)Web開發(fā)需求的持續(xù)增長,開發(fā)人員的數(shù)量也在增加,導(dǎo)致競爭日益激烈。但令人振奮的是,如果你具備天賦和意願(yuàn),你總能找到新方法來創(chuàng)造獨(dú)特的設(shè)計(jì)和創(chuàng)意。作為一名Web開發(fā)人員,你可能需要不斷尋找新的工具和資源。這些新工具和資源不僅能讓你的工作更加便捷,還能提升工作質(zhì)量,從而幫助你贏得更多的業(yè)務(wù)和客戶。 Web開發(fā)的趨勢不斷變化,

wordpress怎麼導(dǎo)入源碼 wordpress怎麼導(dǎo)入源碼 Apr 20, 2025 am 11:24 AM

導(dǎo)入 WordPress 源碼需要以下步驟:創(chuàng)建子主題以進(jìn)行主題修改。導(dǎo)入源碼,覆蓋子主題中的文件。激活子主題,使其生效。測試更改,確保一切正常。

wordpress主機(jī)怎麼建站 wordpress主機(jī)怎麼建站 Apr 20, 2025 am 11:12 AM

要使用 WordPress 主機(jī)建站,需要:選擇一個(gè)可靠的主機(jī)提供商。購買一個(gè)域名。設(shè)置 WordPress 主機(jī)帳戶。選擇一個(gè)主題。添加頁面和文章。安裝插件。自定義您的網(wǎng)站。發(fā)布您的網(wǎng)站。

如何在 Yandex 網(wǎng)站管理員工具中添加您的 WordPress 網(wǎng)站 如何在 Yandex 網(wǎng)站管理員工具中添加您的 WordPress 網(wǎng)站 May 12, 2025 pm 09:06 PM

您想將您的網(wǎng)站連接到Y(jié)andex網(wǎng)站管理員工具嗎? Google搜索控制臺(tái)、Bing和Yandex等網(wǎng)站管理員工具可幫助您優(yōu)化網(wǎng)站、監(jiān)控流量、管理robots.txt、檢查網(wǎng)站錯(cuò)誤等。在本文中,我們將分享如何在Yandex網(wǎng)站管理員工具中添加您的WordPress網(wǎng)站來監(jiān)控您的搜索引擎流量。什麼是Yandex? Yandex是一個(gè)位於俄羅斯的流行搜索引擎,類似於Google和Bing。您可以在Yandex中優(yōu)

如何設(shè)置、獲取和刪除 WordPress Cookie(像專業(yè)人士一樣) 如何設(shè)置、獲取和刪除 WordPress Cookie(像專業(yè)人士一樣) May 12, 2025 pm 08:57 PM

您想了解如何在WordPress網(wǎng)站上使用cookie嗎? Cookie是在用戶瀏覽器中存儲(chǔ)臨時(shí)信息的有用工具。您可以使用此信息通過個(gè)性化和行為定位來增強(qiáng)用戶體驗(yàn)。在本終極指南中,我們將向您展示如何像專業(yè)人士一樣設(shè)置、獲取和刪除WordPresscookie。注意:這是一個(gè)高級(jí)教程。它要求您精通HTML、CSS、WordPress網(wǎng)站和PHP。什麼是Cookie? Cookie是用戶訪問網(wǎng)站時(shí)創(chuàng)建並存儲(chǔ)在用戶瀏覽

如何修復(fù) WordPress 中的 HTTP 圖片上傳錯(cuò)誤(簡單) 如何修復(fù) WordPress 中的 HTTP 圖片上傳錯(cuò)誤(簡單) May 12, 2025 pm 09:03 PM

您需要修復(fù)WordPress中的HTTP圖片上傳錯(cuò)誤嗎?當(dāng)您在WordPress中創(chuàng)建內(nèi)容時(shí),此錯(cuò)誤可能會(huì)特別令人沮喪。當(dāng)您使用內(nèi)置WordPress媒體庫將圖像或其他文件上傳到CMS時(shí),通常會(huì)發(fā)生這種情況。在本文中,我們將向您展示如何輕鬆修復(fù)WordPress中的HTTP圖片上傳錯(cuò)誤。 WordPress媒體上傳過程中出現(xiàn)HTTP錯(cuò)誤的原因是什麼?當(dāng)您嘗試使用WordPress媒體上傳器將文件上傳到Wo

wordpress賬號(hào)怎麼註冊 wordpress賬號(hào)怎麼註冊 Apr 20, 2025 am 11:45 AM

要在 WordPress 上創(chuàng)建賬號(hào),只需訪問其網(wǎng)站,選擇註冊選項(xiàng),填寫註冊表,並驗(yàn)證您的電子郵件地址。其他註冊方法包括使用 Google 賬號(hào)或 Apple ID。註冊的好處包括創(chuàng)建網(wǎng)站、獲得功能、加入社區(qū)和獲得支持。

See all articles