CoreMVC  ·下载 ·文档 ·模块 | ·Hello World ·框架结构

CPP: 通用分页协议(Common Pagination Protocol)

修改时间:20090915


1 介绍

WEB程序有不少数据列表分页形态。通常由于列表分页在设计上有很多不同,很难将分页独立成一个通用的模块。但不可否认分页确实有很多相似点,如果能将分页通用的部份整理出来形成一个约定,那么用户开发的分页模块不仅仅在项目上通用,在不同的项目中只要修改样式也能做到通用。通用分页协议就是尽最大的限度将分页模块规范化,实现通用。


2 定义

通用分页协议分“协议”和“规范”两部份,这两部份用小数点连接。目前协议只有“CPP”这一个。
如:CPP.PS[TC],CPP表示协议,PS[TC]表示规范。

规范各字母的含义
P = page    页码,整数,建议默认值为1。
S = size    每页条数,整数,建议默认值为1。
T = total   页数,整数,建议默认值为0。
C = count   条数,整数,建议默认值为0。
U = url     URL的连接地址,字符串"?"或"index.php"等,建议默认为"?"(待讨论)
K = key     URL的页码参数名称,字符串"page"或"p"等,建议默认为"page"。(待讨论)
A = and     URL的参数连接符,字符串"&"或"&"等,建议默认为"&"。(待讨论)
Q = query   URL的参数数组,数组$_GET或$_POST等,建议默认为$_GET。(待讨论)
M = method  提交方式,字符串"GET"或"POST"等,建议默认为"GET"。(待讨论)

规范字母组合的含义
规范中不在[]里的字母表示必要,在[]里的字母表示可选,不存在的字线表示忽略。


3 语言

PHP下用关联数组表示,比如:CPP.PSTC
array('page'=>1, 'size'=>10, 'total'=>2, 'count'=>12);

Javascript下用json来表示,比如:CPP.PSTC
{"page":1,"size":10,"total":2,"count":12}


4 建议

1.规范中无论必要的还是可选的,建议都定义默认值。用户不传值过来时使用默认值,甚至用户传过来的CPP数组也可以是空的。
2.分页模板最上部要写明使用了那个规范,比如“CPP.PSTC”,这样用户可以判断是否与程序匹配。
3.规范中的可选项一般用于兼容的分页表现,比如“CPP.PS[TC]”,当用户传入TC时,显示的分页的样式和不传入TC时可能不同。



CoreMVC是PHP的一款小巧精致的MVC框架,遵循New BSD协议发布。