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

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

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;

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

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