我正在尝试将Zend与MongoDB集成。我想我差不多了,但我需要一些帮助才能完成任务。我是zend和mongo的新手,但对PHP和MySQL有相当的经验。
一些细节:
我的Zend项目基于http://framework.zend.com/manual/2.0/en/user-guide/skeleton-application.html的骨架教程。这在我的计算机上工作正常,但是基于mysql。
我安装了MongoDB。我可以在命令行上编写nosql,我可以在PHP脚本中实例化一个MongoClient对象,所以这些东西似乎可以互相通信。
我想使用mongo而不是mysql,我已经实现了Doctrine。我不知道Doctrine做了什么,我经历了几次搜索,试图找到如何在zend中运行mongo命令。这些事实让我得出结论,我不知道自己在做什么。
所以关于我的问题的具体细节:
感谢您的帮助,同样欢迎澄清问题。
编辑于2012年12月13日进行澄清。
根据给定的答案,我似乎走在正确的轨道上,我可以进一步澄清我的需要: 查看下面链接的Doctrine Documentation,我仍然不清楚文档管理器实例化的位置。我原以为它会进入一个更通用的位置,该位置在每个页面加载时运行。另外,我发现的大多数教程似乎都是指骨架应用程序给出的不同文件结构,所以当他们说某些东西放在某些地方时,我不确定它们的意思。例如,我一直看到对引导程序文件的引用,但我唯一的引导文件位于测试目录中。
我的问题是这些:
答案 0 :(得分:0)
mongoDB访问有很棒的模块doctrine-mongo-odm-module。 只需添加到composer.json
即可"require": {
....
"doctrine/doctrine-mongo-odm-module": "dev-master",
....
Doctrine documentation应该有助于如何使用它。
答案 1 :(得分:0)
这些是不同的部分和它们的作用,从下往上工作:
mongodb :数据持久性
doctrineODM :对象文档映射器。这将mongo文档映射到php对象。这意味着您不必担心直接对mongo进行任何调用 - 您只需使用普通的旧php对象。要使用doctrineODM,您需要定义模型类,并使用DocumentManager - 建议,Doctrine文档非常好。
doctrineMongoODMModule :将doctrine与zf2集成的模块。它的主要功能是允许您使用zf2配置样式配置doctrine,并允许您通过zf2 ServiceManager访问DocumentManager。 (我还做了很多其他事情,但它们是主要的事情)
zf2(mvc):允许您定义界面,以便其他内容(如Web客户端)可以操作您的文档。