我创建 PHP 应用程序,但我对架构有疑问。
我的应用程序中有一些系统。例如,缓存系统、输出系统、应用程序系统等。我还有注册表用于将这些系统链接在一起。
这是在应用程序中使用缓存的示例:
class Manager {
public function __construct() {
$registry = \Jx\System\JxRegistry::getInstance();
$this->JxCache = $registry -> JxCache;
}
public function getAppInfo($JxId) {
$someInfo = $this->JxCache->Applications->$JxId;
}
}
但是这种方式我需要在任何地方调用Registry并且我需要创建局部变量来存储对象。
我有另一个想法,是这样的:
class Kernel {
public function __construct() {
$this->JxCache = new JxCache;
}
}
/* .. */
new Kernel();
/* .. */
class Manager extends Kernel {
public function __construct() {
}
public function getAppInfo($JxId) {
$someInfo = $this->JxCache->Applications->$JxId; //JxCache declared in class 'Kernel'
}
}
哪个变种更正确?你能推荐你的变种吗?谢谢