Zend db zend_db单机版

Zend db zend_db单机版,zend-db,Zend Db,我想使用zend_db standalone,因为zend framework对我的项目来说太多了,但我对它还不熟悉, 这样做是否正确: $pdoParams=array(PDO::MYSQL_ATTR_INIT_COMMAND=>'设置名称 UTF8;') 然后在任何课程中都要这样做: $db = Zend_Registry::get('db'); /** quote to avoid sql injection */ $date = $db->quote('1980-01-01');

我想使用zend_db standalone,因为zend framework对我的项目来说太多了,但我对它还不熟悉, 这样做是否正确:

$pdoParams=array(PDO::MYSQL_ATTR_INIT_COMMAND=>'设置名称 UTF8;')

然后在任何课程中都要这样做:

$db = Zend_Registry::get('db');
/** quote to avoid sql injection */
$date = $db->quote('1980-01-01');
$sql = 'SELECT * FROM product WHERE name = ' . $date;
$result = $db->query($sql);
$db->query(); //run a query
我真的需要这样做

Zend_Db_Table_Abstract::setDefaultAdapter($db);
我从一个网站上得到这个代码, 如果我没有使用完整的Zend框架,是否有必要使用Zend_Db_Table_Abstract, 或者,最好使用以下示例:

$db=Zend_db::工厂(…选项…); $select=new Zend_Db_select($Db)

我想要的是在我的引导php页面中设置一个pdo/mysql连接,并且能够在任何类中获得该db实例,而无需启动新的连接来执行查询,但我不确定如何使用Zend_db_Table_Abstract或Zend_db_Select使用注册表Zend_registry::set('dbAdapter',$db)或不使用注册表
非常感谢

Zend_Db_Table_Abstract的目的是让您可以基于Table Data Gateway设计模式创建自己的模型类。该模式的思想是,您有一个类,它封装了与表接口所需的所有sql。因此,假设您将为每个表创建扩展Zend_Db_Table_Abstract的模型类。如果要这样做,则需要在设置/引导程序中调用Zend_Db_Table_Abstract::setDefaultAdapter($Db)。ZF的最新版本提供了一种快速获取基本功能的替代方法,无需通过实例化Zend_Db_表创建自定义类定义:

$userTable = new Zend_Db_Table('users');
总之,这些都与框架的MVC部分无关,尽管有些人选择使用Zend_db作为db连接和模型的基础,而不是使用功能更全面的类似ORM的原则或推进

您提供的另一段代码简单地说明了您也不需要使用Zend_Db_Table_Abstract——您可以简单地设置Zend_Db_适配器的实例,并使用该实例调用query()或其其他方法

$userTable = new Zend_Db_Table('users');