开发者社区 问答 正文

什么是ORM,以及在php上的使用?

ORM 最根本的作用是什么? 以及一些比较好的php ORM框架

展开
收起
落地花开啦 2016-06-15 14:20:55 2081 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    ORM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数据库。
    举个例子:获取一篇文章,传统的方式先要执行一个sql检索数据

    select * from post where id = 1

    然后输出标题和内容使用

    echo $post['title']; echo $post['content'];

    上面的代码遇到面向对象强迫症者,他们会纠结死的。
    所以他们想出了这个东西,在ORM里获取一篇文章可以这样:

    $post = postTable::getInstance()->find(1);#会再内部执行select * from post where id = 1

    然后输出:

    echo $post->getTitle();
    echo $post->getContent();

    高级点的应用,文章和分类是一对多关系、文章和标签是多对多关系

    $cate = $post->getCategory(); //获取文章分类
    echo $cate->getName(); //获取分类名
    $tags = $post->getTags(); //获取一个文章的所有标签

    是不是一个sql都没写就获取到我们需要的所有数据了?使用ORM可以完全不写sql而实现应用,这些ORM都替我们做了。
    除此之外,orm还可以隔离底层数据库层,我们不需要关心我们使用的是mysql还是其他的关系型数据库。

    2019-07-17 19:39:09
    赞同 展开评论
问答分类:
PHP
问答地址: