网站建设资讯

NEWS

网站建设资讯

orm数据库php orl数据库

在PHP 领域里,有哪些 ORM 比较好用

很喜欢 Doctrine,如果不太在意性能的话。很适合OA 啊、企业应用等业务逻辑复杂但对性能没有极端要求的情景。

建网站原本是网站策划师、网络程序员、网页设计师等,应用各种网络程序开发技术和网页设计技术配合操作的协同工作。创新互联专业提供成都网站设计、成都网站制作,网页设计,网站制作(企业站、响应式网站、电商门户网站)等服务,从网站深度策划、搜索引擎友好度优化到用户体验的提升,我们力求做到极致!

吐槽一下,我不喜欢 Active Record 类型的 ORM 主要是我实在无法理解一个 Model 竟然都继承自一个可直接操作数据库的基类。一个业务模型跟数据库有毛关系啊? 我的数据可能来自或持久化到四面八方(数据库、文件、缓存、第三方API等等),最多也是组合一个仓库类到自身而不是直接继承某个数据库类。DataMapper 才是解决之道。你可以去后盾网看看嘛,那里面还是不错的,还有教学视频可以看。如果刚开始学习还可以找讲师教。

php 在操作数据库的时候大多数是写sql还是orm

大多都是写sql的,但是不是直接写sql,而是封装过的sql类,帮你解决了一些xss和注入,类似于

$this-sqldb-select("*")-from("user")-where("id", "1")-do();

//select * from `user` where `id`="1";

php也有orm框架,sql简单的比较好弄,复杂的就不行了。

orm其实就是降低灵活性,增加方便简便的特性。

众所周知,简便与灵活是不可以并存的。

由于orm隐藏了一层,那层如果发生了什么特殊的事情不好调试,所以其实复杂的项目,并不适合orm,灵活性才是王道,但是又不能直接写sql吧,太容易出问题,所以就有了上面那种方式。

简要论述对ORM模式的理解,并简述ThinkPHP中的ORM的基本原理。

RM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。为什么要有这么一个映射?很简单,因为现在的开发语言基本都是oop的,但是传统的数据库却是关系型的。为了可以靠贴近面向对象开发,我们想要像操作对象一样操作数据库。

举个例子:获取一篇文章,传统的方式先要执行一个sql检索数据

select * from post where id = 1

然后输出标题和内容使用

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

在thinkphp中,就解决了这个问题,其原理也很简单:

$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(); //获取一个文章的所有标签

使用方法更是简单,比如:

$list = M()-where()-field()-order()-find()/select()/getField(),等等,在其手册中可以很容易找到,也很容易使用。

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

ORM:object relation mapping,即对象关系映射,简单的说就是对象模型和关系模型的一种映射。可以在PHP开发的业务逻辑层,通过数据访问层来处理。ORM就是数据访问层强大的一种解决方案。通过它,可以最大限度隔离业务逻辑层和数据源之间的耦合度


本文名称:orm数据库php orl数据库
文章出自:http://cdweb.net/article/ddopghc.html