سؤال

مرحبًا ، أنا أستخدم مكون 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 = ''; 
هل كانت مفيدة؟

المحلول

أعتقد أن أسرع طريقة ستكون:

<?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');
?>

الآن أين تضعها. أود أن أقترح على مُنشئ وحدة التحكم ، وبهذه الطريقة لطيفة ومرتبة. للقيم التي يمكنك دائمًا استخدام ملف التكوين الخاص:

// /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';
?>

يمكنك العثور على مثال أكثر عامة على فئة التكوين V 1.2 و فئة التكوين V 1.3.

يبدو أن لديهم نفس المحتوى ، لذلك يبدو أنه لم يتغير من 1.2 إلى 1.3.

أتمنى أن يساعد ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top