Singleton模型学说

rah*_*hul 3 singleton doctrine models

我们可以在Doctrine中使用单例模型吗?

对于Singleton类,我应该有一个私有/受保护的构造函数....但这是不可能的,因为我正在扩展一个具有公共构造函数的Doctrine类

您可以争论在与数据库交互时使用Singleton模式,但只考虑这种情况:

我有一个用户操作记录器,它记录到数据库.此记录器在构造函数中执行一些初始化(从会话中获取当前用户信息),这对于特定执行的记录器的所有实例都是通用的.

在使用Doctrine时,似乎没有办法为模型实现单例模式?

Bar*_*lom 7

Doctrine模型类的实例对应于一个实体,例如User代表一个用户的实例,我怀疑您只有一个实体.将您的其他代码放在一个单独的类UserManager或其他类中.

class Logger { // plain old singleton class

    function log(x) {
        entry = new LogEntry(x); // LogEntry extends Doctrine_Model
        entry.save();
    }

}
Run Code Online (Sandbox Code Playgroud)