Zend framework singleton类中的Zend模型访问-最佳方法
我正在寻找在singleton类(在ZF1.x中)中访问单表数据的最佳模式/方法。详情如下:Zend framework singleton类中的Zend模型访问-最佳方法,zend-framework,design-patterns,model,singleton,Zend Framework,Design Patterns,Model,Singleton,我正在寻找在singleton类(在ZF1.x中)中访问单表数据的最佳模式/方法。详情如下: 我有一个singleton类(比如Zend_Date),它为我提供了一些与应用程序实际非常分离的基本抽象内容 在这个类中,有两点,我需要访问一个db表,并对其进行一些基本操作 在这个单例的函数中使用我的常规ZF models类不是问题。它很好用。现在它看起来像: class My_ZF_Singleton { ... public function someFunctionInMyS
- 我有一个singleton类(比如Zend_Date),它为我提供了一些与应用程序实际非常分离的基本抽象内容
- 在这个类中,有两点,我需要访问一个db表,并对其进行一些基本操作
class My_ZF_Singleton
{
...
public function someFunctionInMySingleton()
{
...
$oModel = new Model_My_Model_Form_ZF_Application();
$oModel->letsDoSomeStuffWithDb();
...
}
...
}
但我骨子里觉得这不是一个很好的解决方案,也没有我想要的那么吸引人。它使我的单例类更加依附于应用程序。我想使用一些其他模式来访问这个db数据,然后访问应用程序模型类。如果有任何线索或更好的解决方案,我会非常感激——这不是“嘿,我遇到麻烦了”或“嘿,我有错误了”——我只是在寻找更好的解决方案。我不确定我是否完全理解你的问题,或者我想知道重点是什么,但我会尝试 在ZF1中,数据库适配器通常已经是单例的了。但每个都需要一个唯一的标识。对
application.ini
或Bootstrap.php
中默认适配器设置的典型访问:
$adapter=Zend_Db_Table::getDefaultAdapter()代码>
提供对单个数据库表的访问并授予对api的访问权的常用方法是构建:
您可以将该类视为单个表的默认数据库适配器的实例(在映射器中工作得非常好)。您还可以向此类添加函数以覆盖或添加到默认的Zend_Db_表api
我希望这至少能实现
class Application_Model_DbTable_TableName extends Zend_DbTable_Abstract
{
protected $_name = 'Table_Name' //required if classname does not match table name
protected $_primary = 'primary_key_column_name'//optional, use if primary key is not 'id'
}