Magento 2 的架构2025年3月17日 | 阅读 3 分钟 在本主题中,我们将讨论 Magento 2 的架构。 Magento 2 具有与 Magento 1 完全不同的架构。 它的架构设计目标是使源代码尽可能广泛和模块化。 这种方法的主要目的是使其能够根据项目的需要轻松地进行调整和定制。 每个业务逻辑和功能都以模块的形式设计。 因此,每个模块都可以作为一个独立的单元工作。 Magento 2 具有模型视图视图模型 (MVVM) 架构。 这种 MVVM 架构在模型和视图层之间提供了更强大的分离,因为它与模型视图控制器 (MVC) 密切相关。 下面给出了 MVVC 的简要说明 ![]() 模型: 它包含应用程序的业务逻辑,并依赖于关联的类 - Resource Model 用于数据库访问。 类似于 MVC,它是数据管理和应用程序运行所需的基本数据的描述的逻辑。 模型响应来自视图的请求。 视图: 视图是用户在屏幕上看到的图形界面。 它负责显示用户请求的响应。 视图是结构或布局,以特定格式表示数据。 视图指定“您的数据看起来如何”。 它是 ViewModel 提供的属性值或命令更改的订阅者。 视图模型: ViewModel 与模型层交互,仅向视图层公开必要的信息。 这由 Magento 2 中的模块的 Block 类处理。 需要注意的重要一点是,这通常是 MVC 系统的 Controller 角色的一部分。 在 MVVM 中,控制器仅负责处理用户流程,这意味着它接收请求,并告诉系统呈现视图或将用户重定向到另一条路线。 它包含一个转换为视图的模型,还包含可用于影响模型的命令。 ViewModel 基本上是视图的抽象,公开公共属性和命令。 根据官方文档,Magento 2 分为四层。 ![]() 下面给出了 Magento 2 架构的详细说明。 1) 表现层表现层是 Magento 2 架构的最顶层。 当我们与 Magento 的 Web 界面交互时,我们正在与表现层代码交互。 它包含所有控制器和视图元素,例如 - 布局、模板、块和 css.js 等。表现层通常使用服务契约调用服务层。 它可以与业务逻辑重叠。 Web 用户、系统管理员是表现层的用户 2) 服务层服务层是表现层和域层之间的中间层。 它提供表现层和域层以及特定于资源的数据之间的桥梁。 服务层实现使用 PHP 接口定义的服务契约。 这些服务契约允许我们添加或更改业务逻辑资源模型,而不会破坏系统。 这是使用依赖注入配置文件 (di.xml) 完成的。 服务层授予对 API(REST/SOAP 或其他模块)的访问权限。 它位于域层之上和表现层之下。 3) 域层域层负责业务逻辑。 它不包含特定于数据库或特定于资源的信息。 域层定义了包含业务逻辑的通用 Magento 数据对象或模型。 此逻辑描述了可以在特定类型的数据上执行的操作,例如 Customer 对象。 为了使用 MySQL 调用从数据库中检索数据,每个域层模型都有一个对资源模型的引用。 4) 持久层它描述了资源模型,该模型负责使用 CRUD(创建、读取、更新和删除)请求在数据库中提取和修改数据。 为了完成这些请求,资源模型包含 SQL 代码。 还实现了额外的业务逻辑功能。 例如 - 数据库函数实现和数据验证。 |
我们请求您订阅我们的新闻通讯以获取最新更新。