---
title: "Пробный пост про &quot;магические&quot; свойства объектов в PHP"
description: "Недавно был проект с \"русскими\" и ISO датами. Все время делали функциями, а тут я решила написать об..."
author: "Marion_Silver"
published: "2010-02-14T05:34:32+00:00"
modified: "2010-02-14T05:34:32+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/probnyy-post-pro-quot-magicheskie-quot-svoystva-obektov-v-php-31041"
markdown_url: "https://yvision.kz/post/probnyy-post-pro-quot-magicheskie-quot-svoystva-obektov-v-php-31041/markdown"
site_name: "Yvision.kz"
---

# Пробный пост про &quot;магические&quot; свойства объектов в PHP

> Недавно был проект с "русскими" и ISO датами. Все время делали функциями, а тут я решила написать об...

Недавно был проект с "русскими" и ISO датами. Все время делали функциями, а тут я решила написать объект и использовать "магические" свойства (properties).

Дело, оказалось, не хитрое: есть 2 ["магических" метода](http://php.net/manual/en/language.oop5.magic.php) __get() и __set(). Вот пример (извините за кривое форматирование, редактор yvision мена победил :)):

```
class MyDate { protected $date; // UNIX timestamp function __get($name) { switch($name) { case 'ru': return gmdate('d/m/Y',$this->date); case 'iso': return gmdate('Y-m-d',$this->date); } } function __set($name,$value) { switch($name) { /* DD/MM/YYYY или DD.MM.YYYY */ case 'ru': if (preg_match('@^([0-9]+)(\.|/)([0-9]+)(\.|/)([0-9]+)$@', $value, $matches)) { list($all,$day,$sep,$month,$sep,$year) = $matches; $this->date = gmmktime(0, 0, 0, $month, $day, $year); return $this->date; } return FALSE; /* YYYY-MM-DD */ case 'iso': $this->date = strtotime($value); return $this->date; } return FALSE; }}date_default_timezone_set('GMT');$date = new MyDate;/* 3 строки с одинаковым результатом: */$date->ru = '14.02.2010';$date->ru = '14/02/2010';$date->iso = '2010-02-14';$date->ru; // 14/02/2010$date->iso; // 2010-02-14?>
```

Комментов в коде не особено много, так-что дайте знать если нужны разъяснения.

Еще дайте знать если пост показался интересным, продолжу!

---

Source: [https://yvision.kz/post/probnyy-post-pro-quot-magicheskie-quot-svoystva-obektov-v-php-31041](https://yvision.kz/post/probnyy-post-pro-quot-magicheskie-quot-svoystva-obektov-v-php-31041)