Eline sağlık ByTriSLaSiS.
Bu paylaşımın ile OOP konusunda Türkçe kaynak sıkıntısına çözüm getirdiğini söyleyebilirim..
OOP öğrendiğim zamanlarda bende bir mail sınıfı yazmışım onu buldum şimdi arşivden bende bunu paylaşarak katkıda bulunayım.
# ARAYÜZÜ OLUŞTURUYORUZ.
Interface Mailing
{
public function submit($data);
}
# Mailing arayüzünün bir implement'ini oluşturuyoruz.
Class Properties implements Mailing
{
private $recipient;
private $subject;
private $body;
private $header;
# SINIF ÇAĞIRILDIĞINDA İLK ÇALIŞAN FONKSİYON
function __construct()
{
if (!function_exists('mail')) { echo $this->error('Mail fonksiyonu aktif değil.'); exit(); }
}
# DEĞİŞKENLERİN DEĞERLERİNİ KONTROL ETTİĞİMİZ FONKSİYON
private function check($data)
{
if(!is_array($data) || !isset($data) || empty($data)) { return $this->error('Lütfen gönderilecek mail bilgilerini giriniz.'); }
if(!isset($data['recipient'])) { return $this->error('Lütfen mail gönderilecek kişinin bilgisini giriniz.'); }
if(!isset($data['subject'])) { return $this->error('Lütfen mail başlığını giriniz.'); }
if(!isset($data['body'])) { return $this->error('Lütfen mail içeriğini giriniz.'); }
return 1;
}
# DEĞİŞKENLERE DEĞERLERİNİ ATADIĞIMIZ FONKSİYON
private function set($data)
{
try
{
$check = $this->check($data);
if($check != 1) { return $check; }
$this->recipient = $data['recipient'];
$this->subject = $data['subject'];
$this->body = $data['body'];
$this->header = $data['header'];
return 1;
}
catch(Exception $e)
{
return error($e->message);
}
}
# HATA MESAJLARINI DÖNDÜRDÜĞÜMÜZ FONKSİYON
private function error($msg,$err = 1)
{
$err == 1 ? $color = '#C11B17' : $color = '#348017';
return '<span style="color:'.$color.'; font-weight:bold;">' . $msg . '</span>';
}
# MAIL GÖNDERİMİNİ YAPTIĞIMIZ FONKSİYON
public function submit($data = '')
{
$result = $this->set($data);
if($result == 1)
{
$submit = mail($this->recipient,$this->subject,$this->body,$this->header);
if($submit) { return $this->error('Mail Gönderildi',0); } else { return $this->error('Mail gönderilemedi'); }
}
else
{
echo $result;
}
}
}
# MAIL BİLGİLERİNİ BELİRLİYORUZ.
$data['recipient'] = 'mail@adresi.com';
$data['subject'] = 'OOP İle Mail Gönderimi';
$data['body'] = 'Merhaba. OOP ile mail gönderimini deniyorum.';
$data['header'] = "From: İbrahim HIZLIOĞLU <ibrahim.hizlioglu@mailservisi.com>\r\n";
#
$mail = new Properties;
echo $mail->submit($data);