zf2 module/global 配置
zf2 module/global configuration
我是 ZF2 新手,不了解 ZF2 应用程序的配置。
例如,翻译是在模块的配置中配置的。如果使用来自不同来源的模块,这似乎是一个好方法。但是我必须为每个模块翻译相同的东西——这不是一种有效的方法。
邮件运输也是如此。通常我想以相同的方式(Sendmail 或 Smtp)发送我的 Web 应用程序的所有邮件。
那么有没有解决方案可以将此配置从模块的配置移动到全局配置?特别是对于使用第三方模块?
问候
字节计数器
我在文件夹 config/autoload/mail.global.php
中有一个全局电子邮件配置
像这样
return [
'service_manager' => [
'factories' => [
'MailTransport' => function ($sm) {
$transport = new \Zend\Mail\Transport\File();
$options = new \Zend\Mail\Transport\FileOptions([
'path' => './data/mail',
'callback' => function (\Zend\Mail\Transport\File $transport) {
return 'Message_' . date('d_m_Y H_i') . '__' . mt_rand() . '.eml';
},
]);
$transport->setOptions($options);
return $transport;
}
]
]
];
并在任何地方调用它$this->getServiceManager()->get('MailTransport');
只需为服务起个别名:
return [
'service_manager' => [
'aliases' => [
'PhlyContactMailTransport' => 'MailTransport',
],
'factories' => [
'MailTransport' => function (ServiceManager $serviceManager) {
// create your transport
return $transport;
},
],
],
];
参考
我是 ZF2 新手,不了解 ZF2 应用程序的配置。
例如,翻译是在模块的配置中配置的。如果使用来自不同来源的模块,这似乎是一个好方法。但是我必须为每个模块翻译相同的东西——这不是一种有效的方法。 邮件运输也是如此。通常我想以相同的方式(Sendmail 或 Smtp)发送我的 Web 应用程序的所有邮件。
那么有没有解决方案可以将此配置从模块的配置移动到全局配置?特别是对于使用第三方模块?
问候 字节计数器
我在文件夹 config/autoload/mail.global.php
像这样
return [
'service_manager' => [
'factories' => [
'MailTransport' => function ($sm) {
$transport = new \Zend\Mail\Transport\File();
$options = new \Zend\Mail\Transport\FileOptions([
'path' => './data/mail',
'callback' => function (\Zend\Mail\Transport\File $transport) {
return 'Message_' . date('d_m_Y H_i') . '__' . mt_rand() . '.eml';
},
]);
$transport->setOptions($options);
return $transport;
}
]
]
];
并在任何地方调用它$this->getServiceManager()->get('MailTransport');
只需为服务起个别名:
return [
'service_manager' => [
'aliases' => [
'PhlyContactMailTransport' => 'MailTransport',
],
'factories' => [
'MailTransport' => function (ServiceManager $serviceManager) {
// create your transport
return $transport;
},
],
],
];
参考