Veritabanından Gelen Değerleri Class içinde Basmak
Merhaba Arkadaşlar,
Aşağıdaki şekilde statik bir bir class ile doğum günü gelen kişilerin bir listesini basıyorum.
class Birthday {
private $birthDays;
public $today;
public $notifications;
public function __construct() {
global $DogumGunuListesi;
$this->today = new DateTime('today');
$this->birthDays = [
//echo $DogumGunuListesi;
'Ali' => '17-09-1997',
'Veli' => '11-09-1993',
'Zeki' => '15-09-1991'
];
$this->notifications = [];
}
public function birthReminder() {
foreach ($this->birthDays as $name => $birthDay) {
$birthDate = new DateTime($birthDay);
if($this->compareDay($birthDate) && $this->compareMonth($birthDate)) {
array_push($this->notifications, [
"age" => $birthDate->diff($this->today)->y,
"name" => $name,
"dob" => $birthDay
]);
}
}
}
protected function compareDay($birthDate) {
return $birthDate->format('d') == $this->today->format('d');
}
protected function compareMonth($birthDate) {
return $birthDate->format('m') == $this->today->format('m');
}
}
$person = new Birthday();
$person->birthReminder();
Aşağıdaki bilgileri mediumtext olarak veritabanında tutuyorum.
'Ali' => '17-09-1997',
'Veli' => '11-09-1993',
'Zeki' => '15-09-1991'
Bununla birlikte veritabanından çekip class'a basarak kullanamıyorum.
Veritabanından çektiğim ve $DogumGunuListesi değişkenine eşitlediğim bilgileri basmak için global $DogumGunuListesi; tanımı yaptım, olmadı.
Sorguyu class'ın içinde yaptım yine olmadı.
Nerede hata yaptığımı bir türlü bulamadım. Yardımcı olabilirseniz memnun olurum.
Şimdilik manuel olarak listeyi koda yapıştırarak çalıştırabiliyorum.
Teşekkürler.
print_r fonsiyonu ekrana yazdırmak için kullanılır.
aşağıda 2 örnek var.İster global olarak tanımla istersende parametre olarak.
$DogumGunuListesi = [
'Ali' => '17-09-1997',
'Veli' => '11-09-1993',
'Zeki' => '15-09-1991'
];
class Birthday{
private $birthDays = [];
public function __construct() {
global $DogumGunuListesi;
$this->birthDays = $DogumGunuListesi;
}
}
$birth = new Birthday;
var_dump($birth);
// veya
class Birthday{
private $birthDays = [];
public function __construct($DogumGunuListesi) {
$this->birthDays = $DogumGunuListesi;
}
}
$birth = new Birthday($DogumGunuListesi);
var_dump($birth);