免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2753 | 回复: 4
打印 上一主题 下一主题

关于PHP面向对象的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-22 16:05 |只看该作者 |倒序浏览
10可用积分
最近看lifetype的代码,完全OO的一个blog系统,在数据处理上,例如文章列表,他把单个文章取出以后压入对象,然后就这么循环着压,然后再把这堆对象压入数组。

到了视图,用对象获取数据。

令人迷惑的问题,一直以来对于PHP的OO只敢做到一定程度,并不敢做的完全彻底。到了PHP5,OO的支持改善了不少,但是仍然没有非常彻底的数据可以表明完全OO的程序是否可以获得可靠的性能和承载能力。

大家有经验的能说说么?多谢。

论坛徽章:
0
2 [报告]
发表于 2008-02-22 16:22 |只看该作者
个人再说一句,lifetype里面引入了DAO的模式,但是类似这种模式在PHP里面个人感觉并不成熟,所谓的面向对象,他这样确实是做到了,如果仅仅是在一个类里面定义getArticleById getAritleByUserId getBlogArticles等等的方法在逻辑里面调用,我感觉这并不是面向对象,这至多算作是把一堆的SQL语句封装到了function,然后又把这些function分类,为了更加清晰起见,于是又把他放到了class。这不是对象。至多是自己搞了一个工具箱子,专门用来修理blog文章的,那么这个类就是一个工具箱子的抽象,不是文章的抽象,因为它不具备文章的属性,只具备了一只工具箱子的属性而以。但如果为每一个数据建模,然后反复的压入取出,这样的话性能上是不是有点吃不消了?

[ 本帖最后由 a_coder 于 2008-2-22 16:24 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-02-24 12:53 |只看该作者
搞过一段时间的lifetype,除非你特别熟悉,不然就得花时间去熟悉,否则搞得人恼火

论坛徽章:
0
4 [报告]
发表于 2008-02-24 22:02 |只看该作者
还好,不那么复杂

论坛徽章:
0
5 [报告]
发表于 2008-02-25 10:55 |只看该作者
我也来随便扯扯。
看到DAO,第一个反应就是java
DAO是Java核心模式[JACM03]中使用比较广泛的一个设计模式,最初的设计思想是为应用程序提供一个与数据源无关的获取数据的接口,进而可以将应用程序与数据源解耦合。这里所说的数据源可以是关系型数据库、面向对象数据库、文件系统、甚至可以是其他程序,只要它能够对外提供数据。对内,DAO将不同数据源的访问方式封装起来;对外,DAO提供一个统一的数据访问接口。应用程序只需面对统一的DAO数据接口,而无需关心底层数据访问的形式。
也就是说当设计可在数据库间移植的系统时,使用DAO是比较方便的。
但是由于php缺少类似Hibernate这样比较完善的对象关系影射框架,很少有人引入持久层,加上效率问题,DAO对php来说目前的吸引力确实不大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP