如何解决如何在服务 xml 文件中添加序列化程序?
我正在尝试在 Serializer
中使用 shopware 6
组件我创建了一个序列化器类,我想将其作为 DI 注入控制器中。
Serializer.php
class Serializer
{
public function getSerializer(): Serializer
{
$encoder = [new JsonEncoder()];
$normalizer = [new ObjectNormalizer()];
return new Serializer($normalizer,$encoder);
}
}
MyController.php
public function __construct(Serializer $serializer)
{
$this->serializer = $serializer;
}
我的问题是如何在我的 services.xml
文件中包含这个序列化程序
<service id="SwagMasterApi\Core\Api\MyController" public="true">
<call method="setContainer">
<argument type="service" id="service_container"/>
</call>
<service>
谁能帮忙。谢谢。
解决方法
您需要将序列化程序定义为服务并将其作为参数注入控制器。例如,如果您的序列化程序的 FQCN 是 SwagMasterApi\Service\Serializer
。您需要将以下代码添加到您的 services.xml 中
<service id="SwagMasterApi\Service\Serializer">
<service>
<service id="SwagMasterApi\Core\Api\MyController" public="true">
<argument type="service" id="SwagMasterApi\Service\Serializer" />
<service>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。