#1 jake

数据分页类,主要提供spModel的继承类在使用findAll方法时返回分页效果的数据。
成员变量

private

  • $model_obj -- 模型对象
  • $pageData -- 页面数据
  • $input_args -- 调用时输入的参数


成员函数


public

  • __input -- 函数式使用模型辅助类的输入函数
  • __call -- 魔术函数,支持多重函数式使用类的方法
  • getPager -- 获取分页数据

private

  • runpager -- 生成分页数据



位置


  • spPager类位于 SP_PATH/Core/spModel.php

详细__input

函数式使用模型辅助类的输入函数。

object __input( & spModel object, array array)

__input() 是spModel的模型辅助类在使用函数式方法时的标准输入接口。

具体的调用模式:spClass("UserDataModel")->spPager()->findAll();

本成员函数将在spModel辅助类以及spController辅助类中是经常使用到的。
__call

魔术函数,支持多重函数式使用类的方法。

mixed __call(string function_name, array param_arr)

__call()可以让spPager类支持更广泛的用途,如加入spLinker等关联的操作同时具备分页功能。

getPager

获取分页数据。

array getPager(void)

在分页程序中使用了spPager()->findAll()后,程序可以通过spPager()->getPager()来获取分页数据。

getPager()返回数组含义如下:


  • total_count -- 数据总记录数
  • pager_size -- 每页多少条记录
  • total_page -- 总页数
  • first_page -- 第一页的页码
  • prev_page -- 上一页的页码
  • next_page -- 下一页的页码
  • last_page -- 最后一页的页码
  • all_pages -- 包括全部页码的数组
例子:

$guestbook = spClass("guestbook");
$guestbook->spPager($this->spArgs('page', 1), 5)->findAll()
dump($guestbook->spPager()->getPager());
runpager

私有函数,生成分页数据

mixed runpager(string function_name, array param_arr)

runpager() 将构造分页的SQL函数传送到spModel继承类中执行,返回执行结果,同时计算分页数据保存到私有变量$pageData中,以便可以使用方法getPager()获取分页数据。





2012-08-06 20:20:36