搜索
首页CMS教程WordPress重新构思架构:将WordPress用于Web应用开发

重新构思架构:将WordPress用于Web应用开发

Sep 01, 2023 pm 08:25 PM
wordpressweb开发架构重构

在本系列中,我们将讨论如何使用 WordPress 构建 Web 应用程序。尽管这不是一个我们将研究代码的技术系列,但我们涵盖了框架、基础、设计模式、架构等主题。

如果您还没有阅读该系列的第一篇文章,我推荐您阅读;但是,出于本文的目的,我们可以将上一篇文章总结如下:

简而言之,软件可以构建在框架上,软件可以扩展基础。

简单地说,我们区分了框架和基础——这两个术语在软件中经常互换使用,尽管它们不是同一件事。 WordPress 是一个基础,因为它本身就是一个应用程序。它不是一个框架。

为此,当涉及到在 WordPress 上构建 Web 应用程序时,我们需要重新思考架构或重新考虑如何构建应用程序的概念模型。


Web 应用程序的结构

在尽可能高的级别上,Web 应用程序通常由以下三个组件构成:

  1. 数据库层
  2. 应用层
  3. 表示层

一般来说,表示层就是用户看到的、用户交互的。它包括将某些内容呈现在用户面前所需的所有样式、客户端代码和标记。

当用户单击某些内容或页面呈现从数据库检索的信息时,它正在与应用程序层进行交互。

应用层负责协调来自浏览器和/或来自用户操作的信息到数据库。有时,这包括将信息写入数据库(例如来自表单字段的信息)以及从数据库读取信息(例如检索用户的帐户信息)。

就像表示层由不同的组件组成(例如样式、JavaScript、标记等)一样,应用程序层也可以由各种不同的组件组成,例如从数据库读取数据和向数据库写入数据所需的系统、清理信息、验证信息以及执行针对当前问题所特有的某些规则。

最后,数据库层是存储数据的地方。它可能由文件系统组成,可能由 MySQL 数据库组成,也可能由第三方解决方案组成,例如“云中”的数据存储(例如 Amazon S3 或类似的东西)。

都是抽象的

要理解的要点是,在软件中,我们总是在处理某种程度的抽象。例如,我们谈论数据存储或数据库层,但我们并没有真正具体化。应用层和表示层也是如此。

  • 我们是在谈论具有多个表的关系数据库,还是在谈论云存储?
  • 我们将使用哪种数据访问层连接到应用程序层来与数据库通信?
  • 我们在前端使用哪些框架和语言?普通 JavaScript、jQuery、Knockout.js? CSS 预处理器 - LESS 或 Sass 怎么样?

显然,我们现在并不打算提供这些问题的答案,但重点是所有 Web 应用程序都包含类似的组件,但每个组件的详细信息因项目而异。


WordPress 的组件

作为一个 Web 应用程序本身,WordPress 是各种技术如何组合在一起形成 Web 应用程序的完美示例:

  1. 数据库层是MySQL数据库。
  2. 应用层(有些人会认为是 WordPress 本身)是用 PHP 编写的,处理许多读取和写入数据存储的核心操作,同时为开发人员提供 API 以进一步利用它。
  3. 表示层使用基本的CSS(至少目前如此)、HTML(一些主题现在使用HTML5)、jQuery,并且部分仪表板使用Backbone.js。

这就是 WordPress 架构,但是我们想要在应用程序之上构建的项目又如何呢?他们如何遵循相同的架构?

好吧,请记住 WordPress 是一个基础 - 而不是一个框架 - 因此我们默认受到 WordPress 架构的影响。这并不意味着在某些情况下我们不能引入自己的库,但它确实会影响我们应用程序和项目的构建方式。

稍后我们将更多地讨论库、可扩展性等,但首先,重要的是要注意,在当今时代,重新构思架构:将WordPress用于Web应用开发(以及 MVVM 和模型、视图等的其他变体)范例风靡一时,但 WordPress遵循这一惯例。

对于为什么这可能是好事或坏事,存在着支持和反对的争论,但这不是这篇文章的目的。相反,值得注意的是 WordPress 使用事件驱动模式,而不是模型视图控制面板。

为此,值得了解事件驱动模型的工作原理,以便您清楚地了解 WordPress 挂钩的工作原理,以及如何将您的思维从 重新构思架构:将WordPress用于Web应用开发 或您使用的任何其他范式转变使用、WordPress 如何管理其信息。


事件驱动意味着什么?

在查看事件驱动应用程序的示例之前,让我们回顾一下遵循 重新构思架构:将WordPress用于Web应用开发 范例的含义。

  • 首先,视图用作演示。用户查看信息并与用户界面交互。
  • 接下来,控制器协调模型和视图之间的信息。它们响应用户操作,并从模型中检索信息以传输到视图中。
  • 之后,模型代表数据库中的数据。这可以通过多种方式完成,但最流行的方法之一是将数据库中的数据映射到对象关系模型,以便数据以对象的格式表示。

整个重新构思架构:将WordPress用于Web应用开发模型如下所示:

重新构思架构:将WordPress用于Web应用开发重新构思架构:将WordPress用于Web应用开发重新构思架构:将WordPress用于Web应用开发

重新构思架构:将WordPress用于Web应用开发图标题>

现在,事件驱动的应用程序可以具有一些相同的组件 - 也就是说,它们可以具有视图和模型或视图和数据对象 - 但它们不一定具有协调从前端到后端的信息的控制器后端。

相反,事件驱动编程的工作前提是“某件事发生了”。因此,在 WordPress 行话中,操作 被命名为“操作”(当然,我们也有过滤器,但我将立即介绍这些内容)。

WordPress 提供了钩子,这些钩子实际上是执行中的点,我们可以在其中引入自己的功能,以便 WordPress 识别“当此事件发生时,我需要触发这些函数”,其中这些函数被定义为我们提供的任何内容。

事实是,过滤器的工作方式相同,但目的不同。简而言之,过滤器是用于在返回应用程序执行之前以某种方式操作数据(例如附加、前置、删除或更新内容)的操作。

那么这看起来像什么?

重新构思架构:将WordPress用于Web应用开发重新构思架构:将WordPress用于Web应用开发重新构思架构:将WordPress用于Web应用开发

活动

没什么特别复杂的,对吧?


那么我们的新架构是什么?

本文的要点主要是让我们思考事件驱动编程以及如何协调我们专门在 WordPress 上构建 Web 应用程序的工作。

也就是说,我们必须根据事件或“发生了一些事情”的事实来思考,这样我们才能知道何时适当地插入我们自己的行动。我们将在下一篇文章中更详细地讨论这一点,但我希望你们从这篇特定文章中学到的要点是,仅仅因为某些东西不是 重新构思架构:将WordPress用于Web应用开发(或者任何下一个流行的范例) )并不意味着它不适合应用程序开发。

每种模式和架构都为我们提供了优点和缺点,所有这些都有助于成功构建 Web 应用程序。


下一个...

在本系列的下一篇中,我们将更详细地了解挂钩如何在 WordPress 上构建 Web 应用程序中发挥重要作用,然后我们将开始研究 WordPress 提供的一些功能 -使其成为某些类型(并非所有类型)网络应用程序的可靠选择。

以上是重新构思架构:将WordPress用于Web应用开发的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
我可以在3天内学习WordPress吗?我可以在3天内学习WordPress吗?Apr 09, 2025 am 12:16 AM

能在三天内学会WordPress。1.掌握基础知识,如主题、插件等。2.理解核心功能,包括安装和工作原理。3.通过示例学习基本和高级用法。4.了解调试技巧和性能优化建议。

WordPress是CMS吗?WordPress是CMS吗?Apr 08, 2025 am 12:02 AM

WordPress是内容管理系统(CMS)。它提供内容管理、用户管理、主题和插件功能,支持创建和管理网站内容。其工作原理包括数据库管理、模板系统和插件架构,适用于从博客到企业网站的各种需求。

WordPress有什么用?WordPress有什么用?Apr 07, 2025 am 12:06 AM

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用户友好性,允许Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

我应该使用Wix或WordPress吗?我应该使用Wix或WordPress吗?Apr 06, 2025 am 12:11 AM

Wix适合没有编程经验的用户,WordPress适合希望有更多控制和扩展能力的用户。1)Wix提供拖放式编辑器和丰富模板,易于快速搭建网站。2)WordPress作为开源CMS,拥有庞大社区和插件生态,支持深度自定义和扩展。

WordPress的成本是多少?WordPress的成本是多少?Apr 05, 2025 am 12:13 AM

WordPress本身免费,但使用需额外费用:1.WordPress.com提供从免费到付费的套餐,价格从每月几美元到几十美元不等;2.WordPress.org需购买域名(每年10-20美元)和托管服务(每月5-50美元);3.插件和主题多数免费,付费的价格在几十到几百美元之间;通过选择合适的托管服务、合理使用插件和主题、定期维护和优化,可以有效控制和优化WordPress的成本。

WordPress仍然免费吗?WordPress仍然免费吗?Apr 04, 2025 am 12:06 AM

WordPress核心版本是免费的,但使用过程中可能产生其他费用。1.域名和托管服务需要付费。2.高级主题和插件可能需要付费。3.专业服务和高级功能可能需要付费。

对于初学者来说,WordPress容易吗?对于初学者来说,WordPress容易吗?Apr 03, 2025 am 12:02 AM

WordPress对初学者来说容易上手。1.登录后台后,用户界面直观,简洁的仪表板提供所有必要功能链接。2.基本操作包括创建和编辑内容,所见即所得的编辑器简化了内容创建。3.初学者可以通过插件和主题扩展网站功能,学习曲线存在但可以通过实践掌握。

为什么有人会使用WordPress?为什么有人会使用WordPress?Apr 02, 2025 pm 02:57 PM

人们选择使用WordPress是因为其强大和灵活性。1)WordPress是一个开源的CMS,易用性和可扩展性强,适合各种网站需求。2)它有丰富的主题和插件,生态系统庞大,社区支持强大。3)WordPress的工作原理基于主题、插件和核心功能,使用PHP和MySQL处理数据,支持性能优化。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。