MENU

面向对象初探——epdb数据库类库

August 29, 2013 • 程序阅读设置

首先文章前说几句,这篇博文可能是8月这个疯狂的月份最后一篇原创的技术性文章了。在2013年的这些写php的日子里,真的学到了很多。从改实例开始,到自己磕磕绊绊地纯粹为了实现功能而书写代码,到开始全面地了解自己开发过的应用的整体的结构,到书写一个个简单的POP程序,到系统地了解一门语言使它成为计算机生活中不二的好帮手,仿佛让我看到了两三年前开始玩FS的那些日子。今天带来的,是这两天花几个小时编写的一个很简单的MySQL数据库操作封装类。写数据库类库的想法源于开发iTracker 2.0/FQMS应用程序接口的时候,那会儿写个SQL语句、排错真是要命啊。现在写一个类库,简化操作,也算是对面向对象的一次入门尝试了。整体思想与操作方法与ThinkPHP的数据库操作差不多,算是向我最喜爱的PHP框架ThinkPHP致敬了。

开发VMS和iANN的过程中都用到了PHP框架——前者是Codon Framework,后者是ThinkPHP。Codon不算是一个好框架,甚至可以说是伪OOP的——全部使用静态方法,算什么OOP呢!开发者Nabeel Shahzad为其内置了自己开发的ezdb数据库类,但是不得不说ezdb真的是让人很失望:需要传入完整的一句SQL语句。最复杂的这一步我都做了,我难道会介意写几个mysql_fetch_assoc吗?(玩笑话)ThinkPHP是国产的非常优秀的PHP框架,使用者多,扩展丰富,云环境也能运行自如,内置各种方法使用极其方便灵活,深受好评,我也忍不住捐赠一笔。TP的数据库操作更是给我留下了极其深刻的印象。刚开始使用TP时,对它的数据库操作这块并不是很理解,甚至觉得有些复杂,有时候都不能分清楚几个相近方法有什么区别。但是使用了一段时间之后,你会发现这是真的无比的方便啊!

ThinkPHP的Db类及子类加上MySQL的驱动,整个代码量差不多接近3000行。本文主角epdb只有不到300行代码,当然实现的功能也不如TP多,但是胜任简单的操作还是绰绰有余的。操作方法模仿了TP的连贯操作,但没有参考任何TP的代码,只是凭自己的想法进行功能的实现。目前仅实现了基本的CURD操作。这是我第一次写OO的东西,自然不是那样了解OO,也不能保证类库的完全科学和完全合理。若有任何不当之处还请各位指出,以便受教。epdb将会在之后慢慢地把余下的功能完善起来的。

附上类库文件和详细的使用说明:

这里下载

Archives Tip
QR Code for this page
Tipping QR Code