არაარსებული თვისების წაკითხვა OOP-ში PHP-ში
წინა გაკვეთილში მოყვანილ მაგალითში, ჩვენ ვიყენებდით მაგიურ მეთოდს
__get პრივატულ თვისებებზე მიმმართველობის დასაჭერად. სინამდვილეში ეს მეთოდი
ასევე შეიძლება იყოს სასარგებლო არაარსებულ თვისებებზე მიმმართველობის
დასაჭერად.
შევხედოთ პრაქტიკულ მაგალითს. დავუშვათ, გვაქვს კლასი User სახელით და
გვარით, რომლებიც არის პუბლიკური
თვისებები:
<?php
class User
{
public $surn;
public $name;
}
?>
მოდით, გავაკეთოთ ისე, რომ კლასის ობიექტმა
იმოქმედოს ისე, თითქოს მას ასევე გააჩნია თვისება
full, რომელიც აბრუნებს მომხმარებლის გვარს与 სახელს.
გამოვიყენოთ ამისთვის ჩვენი მაგიური მეთოდი
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
შევამოწმოთ:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // გამოიტანს 'john smit'
?>
გააკეთეთ კლასი Date პუბლიკური თვისებებით
year, month და day.
მაგიის დახმარებით გააკეთეთ თვისება weekDay,
რომელიც დააბრუნებს კვირის დღეს, რომელიც შეესაბამება
თარიღს.