在以下服务中注入服务时遇到问题: https://symfony.com/doc/current/service_container.html#injecting-services-config-into-a-service
此代码:
$wsdl = 'https://your.api/path?wsdl';
$client = new SoapClient($wsdl);
$multipleSearchValues = [1, 2, 3, 4];
$queryData = ['yourFieldName' => $multipleSearchValues];
$results = $client->YourApiMethod($queryData);
print_r($results);
引发此错误:
类型错误:传递给ServicesBundle \ Services \ Services :: __ construct()的参数3必须实现接口Symfony \ Component \ HttpFoundation \ Session \ SessionInterface,没有给出,在/ home / admin-daniel / symfony-test-sites中调用第412行/july262017/var/cache/dev/appDevDebugProjectContainer.php
当我从控制器中调用这些功能中的任何一个时。
我迷失了。似乎我按照指南说的但没有工作....
我在某处错过了某些东西......
答案 0 :(得分:2)
如果您需要注入Session
service:
my.service.name:
class: ..\MyClassName
arguments:
session: "@session"
答案 1 :(得分:0)
它在第412行的/home/admin-daniel/symfony-test-sites/july262017/var/cache/dev/appDevDebugProjectContainer.php中说 你需要传递SessionInterface类型的对象作为第三个参数。 你没有这样做。
您需要将私有属性$sessInt
添加到您的Services类。因为在构造函数中有$this->sessInt = $sessInt;
这将是依赖注入。
答案 2 :(得分:0)
您缺少创建方法:
public static function create(ContainerInterface $container) {
return new static(
$container->get('yourvariable')
);
}