1. 简单百科
  2. doctrine

doctrine

Doctrine是一组PHP库,主要专注于提供持久化服务和相关功能。其最知名的子项目包括基于数据库抽象层的对象关系映射(NHibernate)。Doctrine的关键特性之一是,可以使用Doctrine Query Language(DQL)编写数据库查询,这是一种面向对象的SQL方言。symfony和Laminas等主要PHP框架都有官方支持Doctrine,而LaravelCodeIgniter等框架也有第三方Doctrine包可供使用。

用例

Doctrine遵循Active Record Pattern模式(一个对象对应一个数据表),例如,开发者创建一个新的user,他/她可以使用下面的代码来代替SQL

= new User();

-\u003ename = "john";

-\u003epassword = "doe";

-\u003esave();

echo "The user with id -\u003eid has been saved.";

对象关系功能可被增加到对象本身,而不是分散在各个应用程序中,这使得软件更易维护。

功能

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.数据库升级

参考资料


Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike.com/id.php on line 280