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