netresearch / module-compatibility-m2
支持一次启用多个 Magento2 版本的 Magento2 扩展
Requires
- php: ~7.1.3|^7.2.0
- magento/framework: ^102.0.0
This package is auto-updated.
Last update: 2023-01-21 23:58:36 UTC
README
此“扩展”的目标是提供 Magento2 内部功能的向前/向后兼容端口。这是针对扩展开发者设计的,使他们只需维护一个扩展的开发分支,该分支可以与所有 Magento 版本兼容。
示例
Magento 2.3 引入了 CsrfAwareActionInterface,允许控制器接收来自商店外部的 POST 请求(例如,用于支付服务提供商的售后活动)。为了保留功能,扩展提供者必须维护两个扩展的开发分支,一个用于带有接口的 Magento 2.3,另一个不带。
为了避免这种情况,此扩展提供了一个抽象控制器,可以由需要此功能的三方扩展中的控制器扩展(实现 CsrfAwareInterface)。他们必须实现一些抽象方法,但他们可以使用一个开发分支来维护他们的扩展。
如何使用
此扩展有多个版本
- 1.* - 支持 Magento 2.1.*
- 2.* - 支持 Magento 2.2.*
- 3.* - 支持 Magento 2.3.*
- ...
要使用此扩展的功能,请在您的扩展 composer.json 中添加一个依赖项
{ "require": { "netresearch/module-compatibility-m2": "*" } }
我们建议使用 *
,如果您不在乎或例如 >=2.0.0
如果您想支持 Magento 2.2.*。此扩展将自行要求受影响的 Magento 组件(例如 magento/framework
)在相关版本中,这将只允许通过 composer 在商家安装中安装此扩展的特定版本。
支持的向前/向后兼容性
CsrfAwareActionInterface(《Magento\Framework\App\CsrfAwareActionInterface》)
破坏兼容性的版本: Magento 2.3.0
要有一个向后兼容的控制器,可以接收来自外部的 POST 请求,只需扩展 {{Netresearch\Compatibility\Controller\CsrfAware\Action}} 并实现抽象方法。对于 Magento 2.2 和 2.1,这可能会导致无效代码(除非您在您的 Controller 中引用这些函数),但您无需担心自己管理接口实现。
许可证
开放软件许可证 v. 3.0 (OSL-3.0)
版权
Netresearch DTT GmbH(www.netresearch.de)