02.02 Doctrine
在“上古时代”,我们习惯于用这样的语句来连接数据库,mysql_fetch_array()
这样的语句来获得数据。但是这些已经是过时的、不再推荐反而要被禁止的做法。即使我们不使用任何框架而编写一些快速的测试代码,我们也应该避免使用这些语句,而至少使用PDO或者中提供的API。
但是在这一层次之上,我们还有所谓的ORM (Object-relational mapping,对象-关系映射)。
这样做当然也行。但是有很多问题:
在获取数据时,返回的记录也能自动映射到一个对象(或者对象数组),于是我们就可以用类似的方式来获得记录的字段值。
Symfony 2中使用的ORM是Doctrine。对这个ORM的详细解说已经超出了本书的范围。我们在后面的章节中会结合实际使用介绍在SF中使用Doctrine的方法。
Doctrine是SF中缺省使用的ORM。在我们时,Doctrine是缺省安装的。
注意:在任何情形下都不推荐使用mysql_connect
等已经过时并马上要被淘汰、而且极不安全的语句!
2. 在建立数据库实体和这两节中,我们还会用到Doctrine来为我们目前这个还没有任何数据的数据库填充样本数据。但是,从严格意义上说,这不是应用编程本身的一部分,因为样本数据只有在测试的时候才会用到。 ↩