【发布时间】:2017-08-15 16:22:46
【问题描述】:
我想在我的服务类mailer 中使用parameters.yml 中的参数
但是我在实例化邮件类时遇到了这个错误:
$mailer = new Mailer();
知道参数是在parameters.yml中定义的:
警告:AppBundle\Service\Mailer::__construct() 缺少参数 1,在
中调用
namespace AppBundle\Service
class Mailer
{
private $mailer_user;
private $mailer_password;
private $mailer_name;
private $mailer_host;
public function __construct($mailer_user, $mailer_password ,$mailer_name ,$mailer_host)
{
$this->mailer_name = $mailer_user;
$this->mailer_password = $mailer_password;
$this->mailer_user = $mailer_name;
$this->mailer_host = $mailer_host;
}
//.....
}
services.yml:
mailer:
class: 'AppBundle\Service\Mailer'
arguments: [%mailer_user%, %mailer_password% ,%mailer_name% ,%mailer_host%]
【问题讨论】:
-
你应该指定你得到什么错误(一些异常或什么?)因为“doesnt work”是不够的。 PS:您应该从参数值和服务参数
%$mailer_host%中删除美元符号(这是一个错字吗?)。 -
@gp_sflover 这是正确的做法吗? error =>哎呀,好像出了点问题。
-
为什么要重复 services.yml 中的邮件参数?或者这只是某种复制/粘贴?
-
@Cerad 再次感谢您的帮助,我删除了重复的参数,但如果您能帮助我,我遇到了一个新错误
-
@Achraf 您不应该在问题解决后更改问题(对于新手来说,这可能是一个永无止境的问题:-)),而是为每个新问题打开一个新问题。
标签: symfony