mus
Новичок
Странный синтаксис
Господа, разбираю чужой портал с целью внедрения дизайна заказчика. Увидел в портале много чего интересного, но доселе невиданного и непонятного, прошу помочь разъяснить:
1. Неясно, что за класс такой Registry и почему метод instance так странно написан:
А используется этот класс ещё интереснее:
Кто либо может объяснить, что происходит, когда мы таким образом используем сей метод?
Господа, разбираю чужой портал с целью внедрения дизайна заказчика. Увидел в портале много чего интересного, но доселе невиданного и непонятного, прошу помочь разъяснить:
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;