服务覆盖无法按预期工作

问题描述

我在我的模块中创建了一个具有现有核心服务名称的服务 (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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...