2011-12-15 2 views
0

Я следующий тест, который хорошо работаетСоздание класса экземпляра Swift_Mail

//Create the Transport 
$mailer = Swift_Mailer::newInstance($transport); 
// create the message 
$message = Swift_Message::newInstance('Hello World') 
    ->setFrom(array(MAIL_FROM => MAIL_FROM_NAME)) 
    ->setTo(array('[email protected]') 
    ->setBody('Here is the message itself'); 
//Send the message 
$result = $mailer->send($message); 

теперь я хочу, чтобы включить его в экземпляр класса (например, функция внутри объекта посылает электронную почту, используя быстрые). Я знаю, что мне приходится рефакторировать, но я не понимаю смысла. Хотя это неправильно, я думаю, что я пытаюсь что-то сказать по строкам

$ mailer = $ this-> Swift_Mailer :: newInstance ($ transport);

но я не вижу, как рефакторинг. Вы можете помочь? Благодаря Giles

+0

Я не вижу, как этот случай должен быть отличным от первого примера. Сначала вы включаете в свой код класс быстрой почты, а затем создаете экземпляр объекта быстрого доступа. Так просто. – Khronos

+0

Непонятно, как это сделать - можете ли вы проиллюстрировать? – giles

+0

проверьте ответ ниже. Это ваш пример. – Khronos

ответ

0
inlcude 'swiftmailer.class.php; 

class YourClass { 
    function __construct() {} 

    function yourFunction() { 

     $mailer = Swift_Mailer::newInstance($transport); 
     // create the message 
     $message = Swift_Message::newInstance('Hello World') 
     ->setFrom(array(MAIL_FROM => MAIL_FROM_NAME)) 
     ->setTo(array('[email protected]') 
     ->setBody('Here is the message itself'); 
     //Send the message 
     $result = $mailer->send($message); 
    } 

}