开发手册 欢迎您!
软件开发者资料库

Phalcon - 对象文档映射器

Phalcon对象文档映射器 - 从基本概念到高级概念,从简单和简单的步骤学习Phalcon,其中包括概述,环境设置,应用程序结构,功能,配置,控制器,模型,视图,路由,数据库连接,交换数据库,脚手架应用程序,查询语言,数据库迁移,Cookie管理,会话管理,多语言支持,资产管理,使用表单,对象文档映射器,安全功能。

在开始使用对象关系映射器(ORM)和对象文档映射器(ODM)的概念之前,了解SQL和NoSQL数据库之间的区别非常重要.

下表突出显示了SQL和NoSQL之间的区别 :

SQLNoSQL
它们也被称为关系数据库(RDBMS)它们被称为非关系数据库或分布式数据库
数据库结构构成表和视图它由基于文档和图形数据库组成
它包含一个预定义的架构它有一个动态架构
它非常强大,用于定义和操作数据它在将数据维护为集合方面非常强大文件

Phalcon能够使用SQL和NoSQL数据库进行映射.这是在NoSQL数据库的Object Document Mapper(ODM)和SQL数据库的Object Relational Mapper(ORM)的帮助下实现的.

在Phalcon中,ORM概念包括创建与之关联的模型我们在前面章节中看到的给定表名.它遵循所有参照完整性约束.

对象文档映射器(ODM)

它是与NoSQL数据库关联的对象.顾名思义,它映射了与文档相关的模块. Phalcon使用它来映射像MongoDB这样的数据库.

示例

步骤1 : 创建一个名为"test"的MongoDB数据库.我们将使用此数据库进行映射并获得相应的响应.

Test


Mongo

第2步 : 检查数据库中插入的记录.与之关联的命令是 :

  db.collection.find()


插入记录

观察到每个文件与ObjectId映射,这是ODM的一个特性. ObjectId 的值是唯一的,稍后用于获取与该特定Id相关的所有数据.

第3步 : 去;为创建的数据库设置模型.模型是一个扩展 Phalcon\Mvc\Collection 的类. Test.php 模型将包含以下代码.

setSource("test");    } }

第4步 : 在 services.php 中配置包括数据库连接的项目.

// Simple database connection to localhost $di->set(    "mongo",    function () {       $mongo = new MongoClient();        return $mongo->selectDB("test");    },    true ); // Connecting to a domain socket, falling back to localhost connection $di->set(    "mongo",    function () {       $mongo = new MongoClient(          "mongodb:///tmp/mongodb-27017.sock,localhost:27017"       );        return $mongo->selectDB("test");    },    true );

第5步 : 借助 TestController.php 打印关于 ObjectId 的值.

data;    } }

输出将显示与objectId匹配的数据.如果objectId未按照文档中的记录进行匹配,则在获取记录数时不会显示相应的输出.

数据显示