更新时间:2023-10-08 16:51
Doctrine遵循Active Record Pattern模式(一个对象对应一个数据表),例如,开发者创建一个新的user,他/她可以使用下面的代码来代替SQL语句:
( = new User);
(->save);
对象关系功能可被增加到对象本身,而不是分散在各个应用程序中,这使得软件更易维护。
Doctrine可以从已有的数据库生成对象类,开发者可以指定表关系及添加自定义函数,而不需要像其他框架那样去生成和维护复杂的XML数据。
Doctrine的另一个特点是使用面向对象写数据查询语言,这被称为DQL(Doctrine Query Languages)。
Doctrine会自动执行joins并会获取与其关联的对象,小型项目可以轻松地创建而不必写查询语句。
1.支持树形结构的数据
2.支持hooks(能够难和修改数据库input和output的功能)和事件监听
3.支持缓存,利用memcached, SQLite或APC
4.ACID传输
5.model行为 (sluggable , timestampable ,嵌套设置,国际化,审计日志,搜索索引)
6.数据库升级