您好我在我的应用程序中使用swiftmailer组件并且正在寻找一种方法来为swiftmailer提供单独的配置(可能在配置文件夹中?),以检查我正在使用的调试模式,从而使用不同的设置?
案例1:在生产模式下使用简单的smtp服务器而不使用auth。 案例2:在调试模式下使用gmail设置或其他设置,因为我在本地开发
这可能吗?
设置代码案例1:
$this->SwiftMailer->smtpHost = '';
设置代码案例2:
$this->SwiftMailer->smtpType = '';
$this->SwiftMailer->smtpHost = '';
$this->SwiftMailer->smtpPort =;
$this->SwiftMailer->smtpUsername = '';
$this->SwiftMailer->smtpPassword = '';
答案 0 :(得分:1)
我认为最快的方式是:
<?php
Configure::load('swiftmailer');
$this->SwiftMailer->smtpType =
Configure::read('SwiftMailer.'.Configure::read().'.smtpType');
$this->SwiftMailer->smtpHost =
Configure::read('SwiftMailer.'.Configure::read().'.smtpHost');
$this->SwiftMailer->smtpPort =
Configure::read('SwiftMailer.'.Configure::read().'.smtpPort');
$this->SwiftMailer->smtpUsername =
Configure::read('SwiftMailer.'.Configure::read().'.smtpUsername');
$this->SwiftMailer->smtpPassword =
Configure::read('SwiftMailer.'.Configure::read().'.smtpPassword');
?>
现在放在哪里。 我会建议Controller构造函数,这样它很好又整洁。 对于值,您始终可以使用私有配置文件:
// /app/config/swiftmailer.php:
<?php
$config['SwiftMailer'][0]['smtpType'] = 'value';
$config['SwiftMailer'][0]['smtpHost'] = 'value';
$config['SwiftMailer'][0]['smtpPort'] = 'value';
$config['SwiftMailer'][0]['smtpUsername'] = 'value';
$config['SwiftMailer'][0]['smtpPassword'] = 'value';
$config['SwiftMailer'][1]['smtpType'] = 'value';
$config['SwiftMailer'][1]['smtpHost'] = 'value';
$config['SwiftMailer'][1]['smtpPort'] = 'value';
$config['SwiftMailer'][1]['smtpUsername'] = 'value';
$config['SwiftMailer'][1]['smtpPassword'] = 'value';
$config['SwiftMailer'][2]['smtpType'] = 'value';
$config['SwiftMailer'][2]['smtpHost'] = 'value';
$config['SwiftMailer'][2]['smtpPort'] = 'value';
$config['SwiftMailer'][2]['smtpUsername'] = 'value';
$config['SwiftMailer'][2]['smtpPassword'] = 'value';
?>
您可以在Configuration Class v 1.2和Configuration Class v 1.3上找到更通用的示例。
它们似乎具有相同的内容,因此它似乎没有从1.2变为1.3。
希望它有所帮助。