電子メールを送信する必要があるモジュールを作成し、その getServiceConfig にファクトリとしてメール サービスを作成しました。十分に単純です。
$transport = $this->getServiceLocator()->get('custom_module_mail_transport');
// use transport
Module.php で:
'custom_module_mail_transport' => function($instance, $sm) {
$b = new \Zend\Mail\Transport\Smtp();
$b->setOptions(
new \Zend\Mail\Transport\SmtpOptions(
array(
'host' => 'smtp.isp.com',
'connection_class' => 'login',
'port' => 25,
'connection_config' => array(
'username' => 'abc',
'password' => 'def',
)
)
)
);
return $b;
},
カスタムモジュールのメールトランスポート用に独自のファクトリを実装して、人々が自分でロールバックできるようにしたいと思います。つまり、構成を使用してパスワードなどを取得できますが、トランスポートが多すぎると面白くなくなります。
「custom_module_mail_transport」ファクトリをアプリケーションレベルのサービス構成に追加してもうまくいかないようです。目標は、ユーザーが独自のファクトリをロールして、モジュールが提供するファクトリをオーバーライドできるようにすることです。
これを行う最善の方法は何ですか?
ZF2 について頭を悩ませるのを手伝ってくれてありがとう。