我正在尝试找到一种为我的框架存储常用共享对象的好习惯。以前,我$GLOBALS
用于访问那些共享对象。但是,我在互联网上发现很多文章说使用$GLOBALS
是一种不好的做法,并建议使用注册表模式。
但是,我很难看出 Registry Pattern 是如何比$GLOBALS
. 例如:
<?php
$config = new Config();
$config->autoAppPath(__DIR__);
$config->option = ... // some value;
$config->option2 = ... // some value;
$db = new Database();
Registry::set('config', $config);
Registry::set('db', $db);
?>
我想知道使用 Registry 访问比使用 GLOBALS 更好,因为它有更好的命名空间?
Registry::get('config');
$GLOBALS['config'];