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将会在之后慢慢地把余下的功能完善起来的。

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

这里下载

Tags: php
Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment

已有 3 条评论
  1. Hotaru Hotaru

    内容:开发者您好,经朋友推荐使用了您的epdb,但是出现了问题:
    在私有属性填写数据库后,不管填写什么,调用后都提示:
    “Access denied for user ''@'localhost' (using password: NO)”
    望回复!

    1. @Hotaru需要先配置数据库信息,在epdb类的开头

    2. @Hotaru看你的提示是数据库密码错误啊,你的数据库连接信息是正确的吗? 数据库授权呢?配置了数据库信息了吗?