Zend DB MYSQL 包装器
所有,
我有一个用 Zend Framework 编写的 MVC 风格的 PHP 应用程序。我计划使用 Zend_DB 连接到 MySQL 数据库并处理查询。我正在寻找一个包装类,它可以轻松使用 Zend_DB 类。这个包装类将有一个使用 Zend_DB 连接到 Mysql 数据库的构造函数。它还将有一个方法为每个建立的数据库连接返回一个单例实例。
比如:
$pptDB = PPTDB::getInstance();
$pptDB->setFetchMode(PPTDB::FETCH_OBJ);
$result = $pptDB->fetchRow('SELECT * FROM bugs WHERE bug_id = 2');
echo $result->bug_description;
Where class PPTDB extends Zend_DB
这是可行的吗?如果没有,您将如何在主要应用程序中使用 Zend_DB?
谢谢,
All,
I have a PHP application written in Zend Framework with MVC style. I plan to use Zend_DB to connect to the MySQL database and process queries. I am looking for a wrapper class which makes it easy to use Zend_DB class. This wrapper class will have a constructor that connects to the Mysql db using Zend_DB. It will also have a method to return a singleton instance for each and every db connection made.
Something like:
$pptDB = PPTDB::getInstance();
$pptDB->setFetchMode(PPTDB::FETCH_OBJ);
$result = $pptDB->fetchRow('SELECT * FROM bugs WHERE bug_id = 2');
echo $result->bug_description;
Where class PPTDB extends Zend_DB
Is this something feasible to have? If not, how ls would you use Zend_DB in a major application?
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
AFAIK 可以将 Zend_DB 用作独立的(当然,该包中的所有类也应该可用),但如果您不使用模型,则几乎没有什么好处。如果您只对数据库抽象感兴趣,我推荐 PDO,如果您想要 Zend_DB 包装器,反射可以为您提供一个很好的属性/函数列表,您可以选择覆盖或不覆盖。
http://nl2.php.net/reflection
AFAIK it is possible to use Zend_DB as a standalone (well, all classes in that package should also be available of course), but if you're not using the models there is little to gain from is. If you're only interested in the database abstraction I'd recommend PDO, if you want a Zend_DB wrapper Reflection can give you a nice list of properties / functions you can choose to override or not.
http://nl2.php.net/reflection
您应该使用 Zend_Db::factory() 创建适配器,然后在 Zend_Db_Table_Abstract::setDefaultAdapter() 中使用它。然后你可以使用 Zend_Db_Table::getDefaultAdapter() 或 $table->getAdapter() 来获取你的适配器:)
You should create adapter using Zend_Db::factory() and than use it in Zend_Db_Table_Abstract::setDefaultAdapter(). Then you can get your adapter wherever you want using Zend_Db_Table::getDefaultAdapter() or $table->getAdapter() :)