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

数据库技术
522
0
0
2022-05-18

什么是Doctrine

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

什么是Entity

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

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

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

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

具体方法

  1. 通过composer安装doctrine ORM
  2. "require": {
  3. "doctrine/orm": "*"
  4. }

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)