НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗ppOpMgGNE 90 of 107 menu

Чтение несуществующего свойства в ООП в 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, которое будет возвращать день недели, соответствующий дате.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить