设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 进阶讨论
›
[讨论/分享] 关于ORM (Object Relational Mapper) ...
1
2
3
/ 3 页
下一页
返回列表
查看:
21176
|
回复:
23
[数据库]
[讨论/分享] 关于ORM (Object Relational Mapper)
[复制链接]
沧蓝
沧蓝
当前离线
积分
757
IP卡
狗仔卡
发表于 2007-12-2 23:49:16
|
显示全部楼层
|
阅读模式
半年多前我在CI论坛上发布了一个未完善的ORM库(
帖子链接
),支持PHP4/5,基于CI的Active Record,无须配置(但需要遵守特定的数据库格式),开源。
大约两个月前左右,我开始开发新的ORM库,仅支持PHP5,仅支持MySQL,同样无须配置,并且可以随意的开发数据库(ORM库会自动分析数据库)。过几天开始我会继续开发,等成熟后会开源。:)
我想听听大家对ORM的看法。
我先抛砖引玉了——
我个人认为,使用ORM的最大好处便是缩短程序开发的周期。这就好比使用CI一样——如果所有的代码都重新写,性能上肯定要比使用任何框架(包括CI)都来得快,但是使用CI能够大幅的减低程序开发周期。当然,同样的,用ORM也会降低程序的性能。
目前市面上已经有好多ORM的方案了,从RoR的Active Record到CakePHP到Doctrine之类的。我觉得他们最大的问题就是——所有的对象都要设定两次。一次在程序里,一次在数据库里。部分ORM(比如RoR的)有自动建立数据库的功能,但是,好多时候,我们做项目,都是从数据库开始设计起的。而设计数据库的最普遍的方案就是用UML。
所以,我一直认为,ORM应该是由数据库来决定程序里的对象,而不是反过来。
这里有对目前大部分ORM方案缺点的陈述(
http://dave.org.uk/talks/lpm/2006/orm/
)。
各位的看法呢?:)
评分
参与人数
1
威望
+3
收起
理由
Hex
+ 3
原创内容
查看全部评分
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
gaochao
gaochao
当前离线
积分
8
IP卡
狗仔卡
发表于 2007-12-3 00:09:48
|
显示全部楼层
顶啊,支持开源精神
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50192
IP卡
狗仔卡
发表于 2007-12-3 09:42:27
|
显示全部楼层
太棒了!!!
我代表我个人全力支持!!!
回复
支持
反对
使用道具
举报
显身卡
kekydream
kekydream
当前离线
积分
99
IP卡
狗仔卡
发表于 2007-12-4 16:23:52
|
显示全部楼层
ORM是啥啊?
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50192
IP卡
狗仔卡
发表于 2007-12-4 17:39:03
|
显示全部楼层
ORM =Object Relational Mapper
对象关系映射
就是把数据库表映射成对象。
我这么解释没错吧?呵呵
回复
支持
反对
使用道具
举报
显身卡
lonesane
lonesane
当前离线
积分
102
IP卡
狗仔卡
发表于 2007-12-5 14:17:52
|
显示全部楼层
我认为在php里ORM还是要以简单轻便为原则,一个简单轻便的om就够了。能够帮忙我们完成一些简单的,用的最多的日常操做,就可以了。不要过于追求太多的功能。如果太复杂的表关系,还是手动的好。
一个复杂的ORM,只会使简单的开发变的更为复杂。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50192
IP卡
狗仔卡
发表于 2007-12-6 09:45:10
|
显示全部楼层
还是要根据项目的不同,来选择。
回复
支持
反对
使用道具
举报
显身卡
yzxh24
yzxh24
当前离线
积分
102
IP卡
狗仔卡
发表于 2007-12-10 17:26:41
|
显示全部楼层
目前接触到的项目都不是很复杂,基本裸写代码就能解决,一直不明白ORM到底是什么?用他又有什么好处?
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50192
IP卡
狗仔卡
发表于 2007-12-10 17:28:11
|
显示全部楼层
面向对象的好处,剩下的等高人继续解释。。。
回复
支持
反对
使用道具
举报
显身卡
沧蓝
沧蓝
当前离线
积分
757
IP卡
狗仔卡
楼主
|
发表于 2007-12-11 05:13:06
|
显示全部楼层
ORM的好处在于将数据库中的数据对象化。从而大大的减轻程序员的负担——在程序里不需要再一次一次的做枯燥的查询。
这几天在看MySQL和PostgreSQL的资料。我想我有点倾向于用PostgreSQL了…… 但是MySQL的社区大,有商业化的支持,前途无可限量。等过几年Falcon引擎成熟后,应当相当的有优势。但就目前看来,MySQL的问题多多。光就ORM而言,MyISAM不支持foreign key就非常的头疼。另外MyISAM也不支持transaction。InnoDB虽然有支持这些功能,但没有index,非常不方便。PostgreSQL基本上都支持,速度方面,从最新的几个benchmark来看,与MySQL的差距越来越小。
另外,大型数据库的话,PostgreSQL比MySQL更稳定。
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
3
/ 3 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页