最近一直准备把公司的所有 PHP 环境统一升级到 5.5,目前使用的是 5.2 与 5.3,而现在 5.3 都已经 EOL 了,5.4 性能有较大的提升,5.5 对内存占用上也有很多优化,作为一个互联网公司目前我们在用的版本有点不够与时俱进了,所以升级成了必然。
升级除了 preg_replace() 中 e 修饰符开始弃用以外最主要就是数据库问题了,虽然编译进 mysql 模块仍然可以继续使用原来的 mysql 驱动,但原来的 mysql 驱动官方早就开始声明要废弃,并且在 5.5 中默认是不启用的。
目前有一个项目使用的是我的 vgotfaster 框架,所以就改了改把框架的数据库操作类改使用 mysqli 驱动,由于之前我已经做了一个由 pdo 驱动的类,所以干脆抽了些时间把 pdo 与 mysqli 驱动的数据库全部抽出来成为数据库操作层,并且可以由数据库配置中的 use_pdo_driver 来指定是否使用 PDO 驱动,把 ActiveRecord 类也抽出来统一为共用的类,再把两个驱动的数据库类方法统一。
唯一的问题是 pdo 驱动没有类似于 mysql*_ping() 的方法,在 pdo 中只能写一个不具任何功能的方法,不过除非在 CLI 计划任务中需要长时间运行并且用 mysql*_ping() 来实现保持 MySQL 不超时断开,其它情况都可正常使用。现在可自由通过配置切换驱动,而且用法也完全无需修改程序的其它地方。
这里是下载:[attach=256]
详细的更新日志可以见包内的 changelog.txt 文件
最近大 OSChina 上建了个 git 仓,地址是 http://git.oschina.net/pader/vgotfaster
其实我这个 vgotfaster 框架是借鉴 CI 框架的思路,目的是为了学习学习这种框架的实现并且用在自己的一些项目中,当然仅仅是借鉴了他的结构思想,除了在单例模式的实现上参考过它的代码外,其它的代码基本都是自己写的,个人网站许久不维护了,做的一些其它的东西都落在硬盘的角落里,搞了这么多年 PHP 也就剩下这点东西了。
纵观前面的几篇文章,质量真低啊,一直琢磨着把 ideawind 做出来,然后把个人主页做成一个纯粹的博客,到底什么时候会实现?大约在冬季。。