rah*_*hul 3 singleton doctrine models
我们可以在Doctrine中使用单例模型吗?
对于Singleton类,我应该有一个私有/受保护的构造函数....但这是不可能的,因为我正在扩展一个具有公共构造函数的Doctrine类
您可以争论在与数据库交互时使用Singleton模式,但只考虑这种情况:
我有一个用户操作记录器,它记录到数据库.此记录器在构造函数中执行一些初始化(从会话中获取当前用户信息),这对于特定执行的记录器的所有实例都是通用的.
在使用Doctrine时,似乎没有办法为模型实现单例模式?
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)