Wysyłanie emaila Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
sobota, 26 września 2009 15:35

Wysyłanie emaila jest czymś co robi się dosyć często, za kazdym razem to samo, 4 zmienne [albo więcej] trzymający dane o nagłówku, o tytule, o autorze... Bleh. Czy nie lepiej jest napisać sobie raz klasę odpowiedzialną za wysyłkę e-maili, a potem tylko jej używać. Oto bardzo prosta klasa mojego autorstwa:

// autor Patryk yarpo Jar 26 IX 2009, klasa pozwalająca wysyłać maile
class yMailer {
    private $to         = false; // do kogo wyslac
    private $subject = false; // temat wiadomosci
    private $content = false; // tresc wiadomosci
    public function recipient( $to ) {
        $this->to = $to;
    }     
 
    public function subject( $subject ) {
        $this->subject = $subject;
    }     
 
    public function content( $content ) {
        $this->content = $content;
    }
 
    public function send() {
        return mail($this->to, $this->subject, $this->content);
    }
}

Oraz wykorzystanie:

$mail = new yMailer();
 
$mail->recipient('adres(a)serwer.pl');
$mail->subject('Cześć kolego!');
$mail->content('Działa!');
 
echo ($mail->send()) ? "Wysłało!" : "Nie wysłało";

 

Ktoś mógłby sobie pomyśleć - po co metody yMailer::recipient(), yMailer::subject(), yMailer::content() skoro tylko ustawiają zmienne? mogłoby być tak:

 

 $mail->recipient = 'adres(a)serwer.pl'; // zamien (a) na znak malpy
$mail->subject = 'Cześć kolego!';
$mail->content = 'Działa!';

 

Jednak wtedy jesteśmy zmuszeni na zawsze w ten a nie w inny sposób używać naszego interfejsu. Bardzo ciężko wtedy jest rozwijać klasę. A ja już mam pomysł na artykuł pokazujący jak to rozwinąć...

Tags: