我一直在阅读 MVC 框架的工作原理以及设计模式本身。我可以理解大部分部分并了解它们是如何组合在一起的,但是在很多示例中,我看到了这样的内容:
class Registry
{
private $vars = array();
public function __set($index, $value)
{
$this->vars[$index] = $value;
}
public function __get($index)
{
return $this->vars[$index];
}
}
在很多教程中,它被称为“注册表”。它通常在init
文件中实例化,并且是调用核心类(路由处理程序、模板等)的一部分,例如在控制器中呈现这样的视图$this->registry->template->render('view');
。
逐字阅读代码“单词”,我可以看到它$this->vars[$index] = $value
的作用,从vars[]
数组中获取索引并使其等于$value
。所以,如果我们这样做:
__set(1, 'firstname');
// So now
$vars[1] = 'firstname';
__get(1); // Returns 'firstname'
如果我在这里错了,请纠正我。
我隐隐约约地看到了它的好处和有用性,但我还无法掌握更大的图景。我无法将它与其他组件联系起来,而且它似乎占了很大一部分。
我不知道它的目的是什么。