首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
magento2技术栈说明
magento2架构说明
magento2系统文件结构
magento2模块文件结构
magento2配置开发环境
magento2中的composer
magento2服务契约-Service contracts
magento2中的代码生成-generated目录
magento2中的var目录
magento2编码标准
magento2创建一个模块
magento2模块中的数据库脚本
magento2创建install schema脚本
magento2创建update schema脚本
magento2创建install data脚本
magento2创建upgrade data脚本
magento2控制器调用实体类
magento2实体类实现CRUD
magento2数据集合collections
magento2中的对象管理器
magento2依赖注入实现原理
magento2配置类的preferences
magento2中的virtual types
magento2创建一个插件plugin
magento2插件的before拦截器
magento2插件after拦截器
magento2插件around拦截器
magento2插件的执行顺序
magento2计划任务cron jobs
magento2通知消息模块
magento2中的session和cookie
magento2中的logging
magento2性能分析Profiler
magento2中的Event和观察者
magento2中的缓存Caches
magento2小部件Widgets
magento2自定义变量
magento2国际化i18n
magento2索引Indexer(s)
magento2框架启动流程详解
magento2视图元素Container、Block
magento2中的webapi-用户类型
magento2中的webapi-授权方法
magento2中的webapi-REST和SOAP
magento2基于token验证的webapi
magento2基于OAuth验证的webapi
magento2基于OAuth验证调用
magento2基于session验证的webapi
实战:创建一个自定义WebApi
magento2 CMS管理
magento2分类和产品管理
magento2客户Customer管理
实战:magento2添加自定义商品类型
实战:magento2添加一个线下配送方法
实战:magento2添加一个线下支付方法
magento2测试-测试的类型
magento2测试-单元测试
magento2测试-集成测试
magento2测试-静态测试
magento2测试-完整性测试
magento2测试-遗留测试
magento2测试-性能测试
magento2测试-功能测试
实战:编写一个简单的单元测试
模块实战:模块环境准备
模块实战:注册模块
模块实战:配置文件config.xml
模块实战:创建email模板
模块实战:配置文件system.xml
模块实战:配置文件acl.xml
模块实战:InstallSchema脚本
模块实战:Model、ResourceModel、Collection
模块实战:前端路由和控制器
模块实战:后台功能
当前位置:
首页>>
技术小册>>
Magento2后端开发高级实战
小册名称:Magento2后端开发高级实战
从上到下,Magento可以分为四个体系结构层,即表示层、服务层、域层和持久层。 ### 表示层 表示层是我们通过浏览器直接交互的层。它包含布局、块、模板,甚至控制器,这些控制器处理往返于用户界面的命令。客户端技术(如jQuery、RequireJS、CSS和LESS)也是该层的一部分。通常有三种类型的用户与该层交互,即web用户、系统管理员和进行web API调用的用户。 由于Web API调用可以通过HTTP进行,其方式与用户使用浏览器的方式相同,因此两者之间存在一条细线。当web用户和web API调用使用表示层时,系统管理员有权更改它。这种更改表现为设置活动主题和更改CMS(内容管理系统的缩写)页面、块和产品本身的内容。 当与表示层的组件交互时,它们通常会调用底层服务层。 ### Service服务层 服务层是表示层和域层之间的桥梁。它包含定义实现行为的服务契约。服务契约基本上是PHP接口的花哨名称。这一层是我们可以找到REST/SOAP API的地方。店面上的大多数用户交互都是通过服务层进行路由的。类似地,进行REST/SOAP API调用的外部应用程序也与该层交互。 当与服务层的组件交互时,它们通常会调用底层域层。 ### 域层 域层实际上是Magento的业务逻辑。这个层是关于组成业务逻辑的通用数据对象和模型的。域层模型本身对数据持久性没有贡献,但它们确实包含对资源模型的引用,该资源模型用于检索数据并将其持久化到MySQL数据库。 一个模块中的域层代码可以通过使用事件观察器、插件和di.xml定义与另一个模块的域模块代码进行交互。我们将在后面的其他章节中研究这些细节。考虑到插件和di.xml的强大功能,需要注意的是,这种交互最好使用服务契约(PHP接口)来建立。 当与域层的组件交互时,它们通常会调用底层的持久性层。 ### 持久层 持久层是数据被持久化的地方。该层负责所有CRUD(创建、读取、更新和删除的缩写)请求。Magento为持久层使用了一种活动记录模式策略。模型对象包含一个资源模型,该模型将对象映射到一个或多个数据库行。 这里,区分简单资源模型和实体属性值(EAV)资源模型的情况很重要。一个简单的资源模型映射到一个表,而EAV资源模型的属性分布在多个MySQL表上。例如,Customer和Catalogresource模型使用EAV资源模型,而时事通讯的Subscriber资源模型使用简单的资源模型。 ------------ 以上就是关于magento2架构介绍相关的内容。
上一篇:
magento2技术栈说明
下一篇:
magento2系统文件结构
该分类下的相关小册推荐:
PHP合辑2-高级进阶
PHP高性能框架-Swoole
PHP8入门与项目实战(8)
Laravel(10.x)从入门到精通(十六)
Magento2主题开发高级实战
ThinkPHP项目开发实战
PHP8入门与项目实战(7)
Magento零基础到架构师(系统管理)
Workerman高性能Web框架-Webman
PHP8入门与项目实战(6)
PHP8入门与项目实战(1)
Laravel(10.x)从入门到精通(一)