有你在真好 的个人博客
Doctrine ORM(对象关系映射)将mysql数据库表生成实体对象
阅读:2252 添加日期:2021/3/27 23:24:20 原文链接:https://www.toutiao.com/item/6450295616663716365/

什么是Doctrine

Doctrine 一个 PHP 的 ORM (对象关联映射框架),基于强大的 DBAL (数据库抽象层)。

什么是Entity

Entity就是一个实体对象,说的简单点就是对应数据表中的字段信息等。Doctrine的实体可以是(php,xml.yml文件 )


Doctrine的命令行工具可以将Entity转换成数据表,也可以将数据表转换成Entity。

这里主要演示下将数据表转换成Entity

Entity是Docrtine中不可缺少的,平时我们都是先设计数据库,如果再手动添加Entity不方便,那么能不能通代码将数据表自动转换成Entity实体对象呢?答案是可以的(也可以通过命令行工具来生成,可参考官网手册,通过代码的方式来生成的好处大家可以想象下)

具体方法

  1. 通过composer安装doctrine ORM

    "require": {

    "doctrine/orm": "*"

    }

2.创建EntityManager管理对象(代码参数都很明了)

Doctrine ORM(对象关系映射)将mysql数据库表生成实体对象

.创建EntityManager管理对象

3.获取Metadata

Doctrine ORM(对象关系映射)将mysql数据库表生成实体对象

获取Metadata

4.生成Entity文件


Doctrine ORM(对象关系映射)将mysql数据库表生成实体对象

生成Entity文件

5.总结

如果生成的文件要带命名空间请使用

$driver->setNamespace('app\\entities\\');(见图2)

Doctrine最新版生成实体文件需要去掉注释前缀ORM,不然系统会包实体文件不正确(见图3)

ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号