什么是Doctrine
Doctrine 一个 PHP 的 ORM (对象关联映射框架),基于强大的 DBAL (数据库抽象层)。
什么是Entity
Entity就是一个实体对象,说的简单点就是对应数据表中的字段信息等。Doctrine的实体可以是(php,xml.yml文件 )
Doctrine的命令行工具可以将Entity转换成数据表,也可以将数据表转换成Entity。
这里主要演示下将数据表转换成Entity
Entity是Docrtine中不可缺少的,平时我们都是先设计数据库,如果再手动添加Entity不方便,那么能不能通代码将数据表自动转换成Entity实体对象呢?答案是可以的(也可以通过命令行工具来生成,可参考官网手册,通过代码的方式来生成的好处大家可以想象下)
具体方法
- 通过composer安装doctrine ORM
- "require": {
- "doctrine/orm": "*"
- }
2.创建EntityManager管理对象(代码参数都很明了)
.创建EntityManager管理对象
3.获取Metadata
获取Metadata
4.生成Entity文件
生成Entity文件
5.总结
如果生成的文件要带命名空间请使用
$driver->setNamespace('app\\entities\\');(见图2)
Doctrine最新版生成实体文件需要去掉注释前缀ORM,不然系统会包实体文件不正确(见图3)