A. 建议封装成某一个工具类的方法或者其他可复用的形式--这样的好处不言自明,任何人都不希望系统中只要存在数据列表分页的时候都会出现一堆几乎相同的代码。
B. 如果针对一些效率要求较高的项目(例如上文提到的"简单网站项目"类型),应该直接使用PHP自带的针对特定数据库系统的操作函数以及与该数据库系统相关的结果集截取技术(SQL语句),比如MySQL中的'LIMIT start, offset'之类;其他一些需要系统设计工整合理的项目(例如上文提到的"设计大量商业逻辑项目"),如果采用了通用的数据库接口,出于兼容多种数据库系统的考虑,可以采用此接口完成结果集的筛选,以损失的效率换取系统更好的可维护性和可扩展性。也就是说,对于采用特定数据库操作函数还是第三方通用数据库接口来实现数据列表分页,需要考虑系统的性能和扩展两方面因素。
另外,本文仅仅是我自己的一些经验,如果您看到这里时候已经有了自己的一些想法,我非常乐意与您分享--能够推动如PHP这样无商业支持的开源软件的发展,毕竟是一件非常令人兴奋的事情。(从这方面来说,我甚至想撰写关于PHP开发的文档资料和示范项目,就如同Sun Microsystems为J2EE发布的Blueprint和Java Pet Store--可惜暂时受到时间、精力以及个人能力的限制--也许春节假期是一个好时机:)