ZendFramework2 与MongoDB的整合
从网上找了很多文章,先是直接搜关键字找zf2与mongoDB的文章,然后回到源头先学习了一下mongoDB是什么,以及纯PHP环境下怎么用,又从github上找了几个mongoDB的zf2模块,还翻墙找了不少东西,再经过调试终于有了成果。下面是我的具体步骤:
1、先从官网下载mongoDB,选择和操作系统对应的版本,下载的是个zip文件,解压后,找到里面的bin文件夹,把所有文件复制到f:\tools\mongodb里,新建data文件夹,
这是文件目录
2、因为我的php版本是5.4以上的,php扩展文件下里已经存在php_mongo.dll,因此只需修改php.ini,去掉 ;extension=php_mongo.dll 前面的 ; 然后重启就可以了,如果没有这个dll,从https://s3.amazonaws.com/drivers.mongodb.org/php/index.html下载最新的就行了。通过phpinfo()函数查看是否出现mongoDb
3、打开cmd命令窗口,cd到上述目录,使用命令
回车后加载很多信息,在浏览器中输入地址“http://localhost:27017/”,若出现如下所示提示则安装成功
需要注意的是这个命令窗口不要关,否则就访问不到了,然后可以参考这个地址学习一下mengoDB的php用法
4、从https://github.com/phly/PhlyMongo上下载全部代码,加压后把PhlyMongo-master文件夹复制到项目的vendor下,这是文件目录
5、找到config\application.config.php,把‘Phlymongo’加入到modules中,如图所示,注意‘PhlyMongo’一定要放在你要引用mongoDB的模块的前面,我就是因为这个问题耽误了半小时,在这里我要在Book模块中使用,所以放在了它的前面
5、打开Applicaiton模块下的config\module.config.php,把下面一段代码复制到里面
'mongo'=>array(
'server' => 'mongodb://localhost:27017',
'server_options' => array('connect' => true)
)
如图所示
6、在你要引用mongoDB的模块中,比如我要在Book模块中使用mongoDB,则找到Book\module.php,把这一段代码假如里面
use PhlyMongo\MongoConnectionFactory;
public function getServiceConfig(){
return array(
'factories' => array(
'Book\Mongo' => function ($services) {
$config = $services->get('config');
$config = $config['mongo'];
$factory = new MongoConnectionFactory($config['server'], $config['server_options']);
return $factory->createService($services);
}));
}
7、然后在controller里就可以调用了,我是这样引用的,
protected $mongoTable;
protected $_result;
public function demoAction() {
$result = $this->_result;
try {
$connection=$this->getMongoConnection();
$database=$connection->selectDB("myblogsite");//这是事先创建的一个database
$collection=$database->selectCollection("articles");//这是事先创建的一个collection
$cursor=$collection->find();
while ($cursor->hasNext()){
$article = $cursor->getNext();
}
print_r($article);
$connection->close();
exit();
} catch (\Exception $e) {
$result['msg'] = $e->getMessage();
} }
public function getMongoConnection(){
if (! $this->mongoConnection) {
$sm = $this->getServiceLocator();
$this->mongoConnection= $sm->get('Book\Mongo');
}
return $this->mongoConnection;
}
8、最后输出结果如下,里面的数据是我原先insert的
ZendFramework2 与MongoDB的整合的更多相关文章
- java操作mongodb & springboot整合mongodb
简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...
- 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...
- Spring Boot WebFlux-03——WebFlux 整合 MongoDB
第03课:WebFlux 整合 MongoDB 前言 上一课的内容讲解了用 Map 数据结构内存式存储了数据,这样数据就不会持久化,本文我们用 MongoDB 来实现 WebFlux 对数据源的操作. ...
- MongoDB简单操作
Hadoop核心技术厂商Cloudera将在2014/06推出hadoop Ecosystem与MongoDB的整合产品,届时MongoDB与ipmala及hbase,hive一起用; 开源linux ...
- Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第104篇原创 文章工程:* JDK 1.8* M ...
- Spring Boot WebFlux 集成 Mongodb 数据源操作
WebFlux 整合 Mongodb 前言 上一讲用 Map 数据结构内存式存储了数据.这样数据就不会持久化,本文我们用 MongoDB 来实现 WebFlux 对数据源的操作. 什么是 MongoD ...
- MongoDB,入门看这一篇足矣!
一.介绍 在介绍 MongoDB 之前,我先介绍一下业务开发的时候遇到的痛点,以便大家对它有一个更加清晰的认识! 最近在用数据库存储数据的时候发现这么一个坑,例如从消息队列中监听消息的时候,原来的做法 ...
- MongoDB - 入门指南
组件结构 核心进程 在 MongoDB 中,核心进程主要包含了 mongod.mongos 和 mongosh 三个. 其中最主要的是 mongod 程序,其在不同的部署方案中(单机部署.副本集部署. ...
- Windows Azure -Azure 网站、云服务和虚拟机的对比
Azure 网站.云服务和虚拟机对比 概述 Azure提供了几种方法来承载网站: Azure网站.云服务和虚拟机.本文帮助您了解选项和为您的Web应用程序做出正确选择. Azure网站是大多数web应 ...
随机推荐
- poshytip两个实用示例
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> < ...
- HDU 1695 (莫比乌斯反演) GCD
题意: 从区间[1, b]和[1, d]中分别选一个x, y,使得gcd(x, y) = k, 求满足条件的xy的对数(不区分xy的顺序) 分析: 虽然之前写过一个莫比乌斯反演的总结,可遇到这道题还是 ...
- C#委托的介绍(delegate、Action、Func、predicate)【转】
转自 http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1 ...
- 教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Sublime Text 是一款非常强大的文本编辑器, 下面我们介绍如何将 Sublime Text 3 打造成一款 Python/Django 开发利器: 1. 安装 Sublime Text 3 ...
- phpDoc 注释案例说明
<?php /** * start page for webaccess * * PHP version 5 * * @category PHP * @package PSI_Web * @au ...
- fmri降噪,利用spatial+temporal信息
1.基于小波+高斯模型 <SPATIOTEMPORAL DENOISING AND CLUSTERING OF FMRI DATA>
- [转载]ios入门篇 -hello Word(1)
温馨提示:,如果您使用移动终端阅读本篇文章,请连接wifi的情况下阅读,里面有大量图片,以免造成您不必要的损失. 潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评 ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- 【Unity3D】自动寻路(Nav Mesh Agent组件)
1.首先添加场景模型 2.为场景模型(寻路路径)添加NavMesh渲染,操作:Windows->Navigation->勾选Navigation Static选项->不勾选Gener ...
- 配置ORACLE 客户端连接到数据库
--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...