PHP China | 中国开源之路 's Archiver

PHPChina 发表于 2006-1-6 18:04

第二次周日活动的主题

主题:位于不同开发层次的数据库操作封装

一、直接SQL,PHP函数库(PDO)

二、基础封装类库(PHPLIB、ADODB、其它)

三、高级封装类库(非直接SQL、跨系统平台、跨数据库类型、缓冲或负载均衡)

四、开发框架封装(与模板结合、RecordSet列表输出、HTML标签输出、数据校验等)

Per 发表于 2006-1-7 21:23

支持,欢迎PHPer发言讨论。

zhiin 发表于 2006-1-8 00:02

搬个凳子  就在这儿讨论吗?

Per 发表于 2006-1-8 11:52

形式不重要,这里说话就可以哈哈。

bmli 发表于 2006-1-8 12:32

我也搬张凳子坐坐,占楼先

hiler 发表于 2006-1-8 15:43

在哪开始啊?

xlmo 发表于 2006-1-8 16:52

一直是用mysql,没有用其他数据库,所以也没有机会使用adodb之类的。

Phzzy 发表于 2006-1-8 18:22

俺是没有实力讨论这个了
呵呵
以前一直用php自带的mysql那些函数
现在用adodb,但基本是只用其中简单的功能,用他的目的其实也就是为了程序可以在不用改代码的情况下多支持一些数据库.adodb中一些很强大的功能也没用上,比如分页还是用自己的.呵呵~

帅的不能再输啦 发表于 2006-1-9 10:37

....................

说说PEAR DB库吧..............一直以来PHP对每一种数据库接口的不统一曾使它受不到许多大型项目的青莱...一直以来.虽然PHP能支持和大多数的数据库链接......但PHP4以前的PHP人们一直认为PHP和MYSQL是最佳的组.而大型的项目上...人们总是不敢对MYSQL持有太大信心....就像当初人们对PHP的评价一样....人们总是认为PHP只能做WEB之类的小玩意儿.............至于企业级的开发....大家还是把更多的精力放在了JAVA上.....然而.到目前为止事情正在发生深刻的变化...PHP5诞生以来...它不再单纯的绑定MYSQL数据库了.....如果你要使用它需要重机关报加载....PHP把对别的更大型的数据库的支持放在了更首要的位置上..........虽然仍旧没有对各数据库统一接口...但实际上PHP对每一种数据库的接口函数都十分类似.而且也都极容上手...使用起来也十分简单...一般情况下也不会出现问题....当然.我们现在已经有了更了不起的方法来解决数据接口统一的问题了..那就是PEAR的DB库....它让你十分方便的编写一次代码就能在所有的数据库上运行...这是不是很奇啊...........当然.DB的设计上仍然存在缺点.但这并不妨碍它帮助PHP成为真正的跨平台巨人...DB库正在不断的完整当中..我相信他会让所有的PHPER大吃一惊...原来...我们可以做的更简单.而实现的更多..

大白菜芯 发表于 2006-1-9 10:48

这次的主题太大了。我看着都不知道从那里开始说了!!
哈!!才疏学浅不敢妄言!

如果只是用PHP做简单的2,3人月的WEB开发.基本接触不了楼主谈的那么深的地方.因为考虑不到,如果那样的活,PHP初期提倡的灵活快捷开发的优势也就荡然无存了!

但是PHP本身的机制也在完善中,PHP本身的功能趋向也是OO,也是想于JAVA,.NET分一杯羹.那么在企业级别的商务应用部分不得不加强了.

伴随有的人开始用PHP做自己的产品,以上那些问题全部推到了开发者的眼前.
首先类库必然要采用封装的. 是自己写好,还是使用ADODB这样的已经完成的好呢??
可能有的人始终认为还是自己写的好用,那么当你进入一个团队开发的时候,你就会发现自己的格格不入.
好比8匹马拉车,你 跑的快了,跑的慢了,都不能用.只有步伐一致,才能用。


至于
非直接SQL、跨系统平台、跨数据库类型、缓冲或负载均衡 这些文字,不过是面对不同用户提出的不同的技术解决方案而已.

非直接SQL在比较复杂的需求下,是必须的。但是我始终认为SQL语句的执行效率及准确的表达开发者的意愿应该放到第一位, 这个地方不存在什么技术问题. IBP论坛的也好,还是自己写的也好,从构架上看没有必要过分追求什么,只要容易理解,便于维护就可以了.

跨系统平台,跨数据库类型的时候一般在商务应用中,很少有一个公司自己内部这样干的.基本都是统一的.否则技术人员早骂当头的娘了. 这样的行为一般出现在企业或项目合作上. 比如我们开始的PHP+MYSQL的商店系统需要和一套SQLSERVER+VB的进销存同步一些数据,同时在SMS方面需要和一家JSP开发的ISP有状态的校验. 那么就会有一般的参数传递操作,或者中间数据层的操作. 当然我说的这是商务中决大多数现象. 如果真的是本身系统的
跨系统平台,跨数据库类型应用.那么面对SESSION等问题,就需要专门的解决方案来确保稳定于安全了.例如ZEND的. 当然也可以自己琢磨一些小的技巧,但是说实话。我个人还没有大强度改写APACHE,PHP,MYSQL底层通讯的能力. 所以不敢多言!

缓冲或负载均衡我接触过的项目就是天津CNC中与华为的ADSL计费系统.使用的是F5公司的负载均衡解决方案,是硬件解决的.它和软件中的反向代理啊.等等有巨大的区别.其能力也是软件产品不可能替代或比拟的. 具体大家可以参照F5的资料.因为如果谈技术细节.太长了。我这里就是给大家提个醒! 脑子里有个印象就可以了!!

开发框架封装(与模板结合、RecordSet列表输出、HTML标签输出、数据校验等)
现在PHP还没有太成型的PHP开发框架, 而且国内用户和国外的有很大的功能需求的区别. 我自己整了一套自己的,不太完善,但是依然在不断努力完善中.
至于列举的那些功能,不过是一部分考虑, 做开发框架封装的封装目的,无非就是要:
1)便于团队开发,及版本管理
2)整和经验,使程序员加快开发速度,更多着重于逻辑关系.
3)回款快;)

可能上边我的话便管理多点,技术少点. 可是这样大的话题,如果我们开会讨论:) 那需要讨论几天具体的技术细节了. 现在在我们这里大家开会,一般技术细节属于小会,私下讨论. 除非是影响到整体协作的技术行为才会开大会.

我胡扯几句,希望大家批评!!

刀客羽朋 发表于 2006-1-9 11:55

很小的应用就找个db类就差不多拉.
一般的用adodb也不错.
楼上所说的pear的db应该是最值得推荐的吧.毕竟是pear类库的部分.

skyblue1984 发表于 2006-1-16 13:39

对于开发框架 俺这新人想说几句,
PHP 从一开始的设计就定位于快速高效地建筑WEB程序,当然 进步是必须的,于是有OO,PDO .
但是所谓的快速开发这块,却没有更实质性的进展.
一个RoR的出现 吸引了多少人的眼球?~
PHP在这方面还是应该更有作为一些
很高兴地看到symfony,cakephp,flea1的出现.

paradis 发表于 2006-2-26 22:13

好大的话题,:)

现在返璞归真了,用echo!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.