0

我创建 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'
    }

}

哪个变种更正确?你能推荐你的变种吗?谢谢

4

1 回答 1

1

Yii 框架有不同的做法可能你可以喜欢它:

Yii 行为

于 2012-12-02T15:51:40.507 回答