用户
 找回密码
 入住 CI 中国社区
搜索
楼主: 沧蓝
收起左侧

[数据库] [讨论/分享] 关于ORM (Object Relational Mapper)

[复制链接]
发表于 2007-12-11 09:51:31 | 显示全部楼层
沧蓝的解释完全够的上精华了!太牛了。。。。。
发表于 2008-1-3 14:18:20 | 显示全部楼层

回复 10楼 的帖子

貌似google也是用mysql。。算是大型了。
发表于 2008-1-3 15:57:32 | 显示全部楼层
google 也用 mysql ??
发表于 2008-2-1 12:48:50 | 显示全部楼层
原帖由 Hex 于 2008-1-3 15:57 发表
google 也用 mysql ??

youtube用mysql所以也算google啦。
发表于 2008-2-11 00:17:14 | 显示全部楼层
http://www.rapyd.com/

Rapyd is a set of components/classes that can help you to develop web applications "rapidly".
Now It's a "library" for Code Igniter (elegant, powerfoul and tiny PHP Framework).

Data Presentation Components
  • It has a theme/views system to standardize components layout
  • A tag-based function-engine (to easily format field values)
  • An easy way to paginate data (with CI helpers / libraries like uri and pagination)
Data Editing Components
  • A tiny dynamic ORM (DataObject), based on CI Active Record (now with a basic support for relationships)
  • Many field classes: input, textarea, editor (tinyMCE), datetime(jscalendar), etc..
  • A form class (based on field classes and CI libs, helpers)
  • An elegant way to create CRUD interfaces (like CI scaffolding feature, but totally customizable)

大家怎么看这个项目?
 楼主| 发表于 2008-2-11 00:56:11 | 显示全部楼层
很早前用过,不好用……
发表于 2008-3-24 10:50:01 | 显示全部楼层
高级讨论,只好在一边看到起,
发表于 2008-3-29 18:20:24 | 显示全部楼层
声明:
ORM的确是对象关系映射,最典型的用法就是java中使用hibernate对数据表的操作,非常简单,可维护性和扩展性很强,php中还是在大项目中用ORM最好不过了。。。:)
沧蓝说的pgsql本人也非常喜欢,功能都可以跟ms sqlserver相媲美了。。。赞一下
发表于 2010-1-27 16:05:54 | 显示全部楼层
Rasmus Lerdorf在一次关于PHP框架的演讲中,曾经这样阐述过他的观点:
In his address he choose to highlight PHP frameworks (Drupal was not spared) and how poor they are at performance. Not only are they slow, but their "jack-of-all-trades" attitude leads developers down the wrong path by not using what is best for the job. He continues on by stating that PHP developers really need to think about performance for not only scalability reasons but for green reasons. If programs were more efficient it would cut the number of data centres and would reduce energy needs as a result. In our newly emerging age of energy awareness this does become an important aspect and I am glad that he is raising awareness.


ORM是个好思想,好概念,并且在Java体系中已经有了很成熟的表现。这在J2EE以Hibernate为代表的ORM框架中得以很好的体现,通过与象Spring这样的基于Dependency Injection的框架或者叫container结合,可以很轻松的在不改变业务逻辑层代码的情况下,仅需要修改下XML配制文件就足以应对DB层的变化。所以,没有必要在这里继续谈论ORM好与不好的问题。它绝对可以提高开发效率,提升系统稳定性。不过,ORM可是一个重量级的大叔,它或多或少会决定你的整个应用的架构。

这个时候问题来了,PHP是Java吗?PHP需要ORM吗?把姚明的鞋子扔给刘翔穿着去跑110米栏,它是否跑得起来,是否能够取得好的成绩?

很显然,PHP不是Java。PHP诞生的原因和其树立的目标就是为了简化WEB开发:使开发人员在短时间内开发出满足项目需求的系统,而不用去过多的考虑文件配制,容器配制,服务器配制等等。虽然自PHP 4开始陆续加入了OO思想,但PHP之所以有今天这个成就,就我个人来看主要使因为其简单和快速(相对来说的),并且它的学习曲线非常平滑,易于上手。

如果你在项目中违背了简单和快速这两点原则,而是整天在配制ORM的一些参数或者在尝试自己开发一套ORM系统,这时我想你就需要重新考虑下PHP是否适合你的项目了。要知道,在Java中已经有了很完善的ORM解决方案,而且有众多非常优秀的社区支持,包括开源的和商业性的。

在程序开发里面,好的思想有很多,好的解决方案也有很多。比如,GoF总结的设计模式有几十种,他们都是众多前辈的结晶,但你不能仅仅因为他们优秀而将他们统统放到自己的系统里面。

因人而异,因项目而异,做好权衡才是最好的解决方案。

评分

参与人数 1威望 +3 收起 理由
Hex + 3 精品文章

查看全部评分

发表于 2010-3-3 14:31:46 | 显示全部楼层
使用ORM的话一定会降低程序的性能的。

本版积分规则