esas / cmsgate-core
常见的CMS支付网关库
v2.2.11
2024-06-18 11:37 UTC
Requires
- php: >= 5.6.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-simplexml: *
- ext-xml: *
- apache/log4php: 2.3.0
- dev-master
- v2.2.11
- v2.2.10
- v2.2.9
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.0
- v1.18.1
- v1.18.0
- v1.17.15
- v1.17.14
- v1.17.13
- v1.17.12
- v1.17.11
- v1.17.10
- v1.17.9
- v1.17.8
- v1.17.7
- v1.17.6
- v1.17.5
- v1.17.4
- v1.17.3
- v1.17.2
- v1.17.1
- v1.17.0
- v1.16.8
- v1.16.7
- v1.16.6
- v1.16.5
- v1.16.4
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- v1.15.1
- v1.15.0
- v1.14.3
- v1.14.2
- v1.14.1
- v1.14.0
- v1.13.11
- v1.13.10
- v1.13.9
- v1.13.8
- v1.13.7
- v1.13.6
- v1.13.5
- v1.13.4
- v1.13.3
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.5
- v1.12.4
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.2
- v1.11.1
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.1
- v1.9.0
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v0.9.0
- dev-CMSGATE-70
- dev-CMSGATE-68
- dev-CMSGATE-69
- dev-CMSGATE-64
This package is not auto-updated.
Last update: 2024-09-24 12:55:26 UTC
README
这是用于cmsgate框架的主要库。该框架首先对需要将他们的解决方案(支付网关、物流服务)与各种CMS系统(基于PHP)集成的供应商非常有用。其主要用途是
- 简化开发和支持插件,以便将产品与大量不同的CMS集成,同时隐藏大部分CMS的内部特性。
库(层)
任何最终插件都由4个层组成
- 核心层 - 框架的核心,包含所有插件共有的类。大部分类都是抽象的,需要在其他层中进行重写
- CMS层 - 不同的包装器、加载器、辅助器,用于确保框架内核与特定CMS的数据和功能交互。数据层以单独的库形式表示,库的名称包含相应CMS的名称
- cmsgate-bitrix-lib
- cmsgate-opencart-lib
- cmsgate-prestashop-lib
- 等等。
- 支付系统层 - 与特定支付网关API交互的协议;包含业务流程的控制器;设置包装器等。包含仅与特定网关交互重要的类
数据层以单独的库形式表示,库的名称包含相应的支付系统名称- cmsgate-hutkigrosh-lib
- cmsgate-epos-lib
- cmsgate-bgpb-lib
- 等等。
- CMS支付系统层 - 顶层,实际上是对特定CMS和特定支付系统的插件
重要的是要清晰地分离这些层并理解每个功能属于哪个层。也就是说,支付系统层不了解特定CMS的架构,而CMS层不了解特定的支付系统。
核心的主要实体
- 包装器 - 用于在内核和其他层之间交互的包装器。所有包装器都是抽象的,需要在更高级的层中进行重写
- ConfigWrapper - 用于特定支付系统设置的包装器。需要在
支付系统层
中重写,以声明与支付系统交互所需的设置(例如登录名、密码、API密钥等)。将包含不依赖于CMS类型的设置。例如- ConfigWrapperHutkigrosh(来自cmsgate-hutkigrosh-lib库)
- ConfigWrapperEpos(来自cmsgate-epos-lib库)负责在CMS内部访问设置的是 ConfigStorageCms(属于
CMS层
)
- OrderWrapper - 用于获取订单信息(id、金额、客户姓名、产品列表等)的包装器。类似于OrderWrapper,需要在
CMS层
中重写,以封装每个特定CMS内部存储该信息的方式。订单号码的存储位置不依赖于支付系统,而只依赖于CMS本身。例如- OrderWrapperOpencart(来自cmsgate-opencart-lib库)
- OrderWrapperBitrix(来自cmsgate-bitrix-lib库)
- OrderWrapperVirtuemart(来自cmsgate-virtuemart-lib库)
- 等等。
- OrderProductWrapper - 用于获取订单中商品信息的包装器。类似于OrderWrapper,需要在
CMS层
中重写
- ConfigWrapper - 用于特定支付系统设置的包装器。需要在
- ConfigStorageCms - 用于在CMS内部获取和保存设置的类。需要在
CMS层
中重写。ConfigWrapper通过它访问设置(尽管,如果需要,可以通过重写ConfigWrapper:getConfig方法以其他方式访问)。例如- ConfigStorageOpencart(来自cmsgate-opencart-lib库)
- ConfigStorageBitrix(来自cmsgate-bitrix-lib库)
- ConfigStorageVirtuemart(来自cmsgate-virtuemart-lib库)
- LocaleLoader - 用于加载当前区域的包装器。必须在
cms-层
中重写。例如- LocaleLoaderOpencart(来自 cmsgate-opencart-lib 库)
- LocaleLoaderBitrix(来自 cmsgate-bitrix-lib 库)
- LocaleLoaderVirtuemart(来自 cmsgate-virtuemart-lib 库)
- ConfigForm - 用于生成“配置表单”的类。必须在
cms-层
中重写。实际上,它将设置集转换为 CMS 可以用于在管理区域显示的格式。由于不同的 CMS 可以有完全不同的设置格式,该类的继承者在输入时从ManagedFieldsFactory
以 cmsgate 内部格式(ConfigField*)接收设置,并在输出时构建- 最终的 html 代码
- 以 CMS 内部格式存储的数组
- 以 CMS 内部格式存储的 xml 文件
- 等等。ConfigForm 的继承者不了解特定支付系统的设置,而“工作”只与配置字段类型有关
- ConfigFieldList
- ConfigFieldFile
- ConfigFieldText
- ConfigFieldPassword
- 等等。
- ManagedFieldsFactory - 用于创建实例的工厂
- CmsConnector - 用于创建
cms-层
对象的工厂。用于创建 LocaleLoader、OrderWrapper、ConfigStorageCms、ConfigForm 对象 - PaysystemConnector - 用于创建
paysystem-层
对象的工厂。用于创建 ConfigWrapper、Translator、ManagedFieldsFactory 对象