PHP'de OOP'de Olmayan Özellik Okuma
Önceki derste verilen örnekte,
__get büyüsünü
özel özelliklere erişimi yakalamak için kullanmıştık. Aslında bu metod
olmayan özlemlere yapılan erişimleri yakalamak
için de faydalı olabilir.
Pratik bir örnek üzerinden inceleyelim. Elimizde
adı ve soyadı genel özellikler olan bir
User sınıfı olsun:
<?php
class User
{
public $surn;
public $name;
}
?>
Sınıf nesnesinin, aynı zamanda kullanıcının adını ve soyadını
gösteren full özelliği varmış gibi davranmasını
sağlayalım. Bunun için büyülü metodumuz
__get'ü kullanalım:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Test edelim:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // 'john smit' yazdıracak
?>
Genel year, month ve day özelliklerine sahip
bir Date sınıfı yapın.
Büyüyü kullanarak, tarihe karşılık gelen haftanın gününü
döndüren weekDay özelliğini yapın.