Странный синтаксис

Статус
В этой теме нельзя размещать новые ответы.

mus

Новичок
Странный синтаксис

Господа, разбираю чужой портал с целью внедрения дизайна заказчика. Увидел в портале много чего интересного, но доселе невиданного и непонятного, прошу помочь разъяснить:

1. Неясно, что за класс такой Registry и почему метод instance так странно написан:

PHP:
<?php
class Registry
{
    private $data = array();

    static public function instance()
    {
        static $instance;
        if (!isset($instance))
        {
            $instance = new Registry();
        }

        return $instance;
    }

    public function __get($name)
    {
        return @$this->data[$name];
    }

    public function __set($name, $value)
    {
        $this->data[$name] = $value;
    }
}
?>
А используется этот класс ещё интереснее:

PHP:
Registry::instance()->Rubric = $Rubric = new Rubric();
// или
$Options = Registry::instance()->Options;
Кто либо может объяснить, что происходит, когда мы таким образом используем сей метод?
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху