如何解决服务覆盖无法按预期工作
我在我的模块中创建了一个具有现有核心服务名称的服务 (prestashop.adapter.data_provider.product
)。如 PHP ./bin/console debug:container
输出所示,它成功替换了它。
在 yaml 中:
prestashop.adapter.data_provider.product:
class: PrestaShop\Module\MyModule\Adapter\Product\ProductDataProvider
现在的问题是我在 BO 的某些页面中有 500 个错误。这些错误是类型错误,例如:
类型错误:参数 4 传递给 PrestaShopBundle\Model\Product\AdminModelAdapter::__construct() 必须 成为一个例子 PrestaShop\PrestaShop\Adapter\Product\ProductDataProvider,实例 PrestaShop\Module\MyModule\Adapter\Product\ProductDataProvider 给定, 打来电话....
我现在明白,只要构造函数有一个 ProductDataProvider
类型的参数,应用程序就会尝试加载我的服务,但会在类中找到不同的use
语句(即在 PrestaShopBundle\Model\Product\AdminModelAdapter
)
可以通过替换包含问题的每个文件中的 use
语句来修复这些错误,但您可能知道,必须避免接触核心文件。
是否有一种方法可以覆盖现有服务,同时还能使覆盖在整个应用程序中“绕过旧服务的 use
语句”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。