\hymie\pagerPager

分页工具类。

对于每个需要分页的 Dao 方法,需要注意以下约束:

  1. 最后两个参数必须是 $page(当前页), $pageSize (页大小)(具体参数名可随意)。
  2. 有对应的 Count 方法,Count 方法与分页方法区别是不需要最后两个参数。

例如:

class SomeDao { public function someMethod($arg1, $arg2, $page, $pageSize) {}

 public function someMethodCount($arg1, $args) {}

}

service 对应的方法中这样调用:

$pager = new \hymie\pager\Pager(new SomeDao, 'arg1', 'arg2');

Summary

Methods
Properties
Constants
getPager()
__construct()
doPage()
calculate()
getRange()
getData()
getCount()
getMax()
getCurrent()
getRangeArray()
getNext()
getNextArray()
getPrev()
getPrevArray()
getPageSize()
getAdapter()
setAdapter()
No public properties found
DEFAULT_PAGE_KEY
DEFAULT_PAGE_SIZE_KEY
DEFAULT_PAGE_SIZE
No protected methods found
No protected properties found
N/A
checkConfig()
initKeyParam()
genPageQueryStringArray()
$pageKey
$pageSizeKey
$adapter
$dataCount
$data
$max
$current
$next
$prev
$pageSize
N/A

Constants

DEFAULT_PAGE_KEY

DEFAULT_PAGE_KEY

DEFAULT_PAGE_SIZE_KEY

DEFAULT_PAGE_SIZE_KEY

DEFAULT_PAGE_SIZE

DEFAULT_PAGE_SIZE

Properties

$pageKey

$pageKey : \hymie\pager\[type]

分页 key

Type

\hymie\pager\[type]

$pageSizeKey

$pageSizeKey : \hymie\pager\[type]

分页大小 key

Type

\hymie\pager\[type]

$adapter

$adapter : \hymie\pager\hymie\pager\adapter\PagerAdapterInterface

分页适配器

Type

\hymie\pager\hymie\pager\adapter\PagerAdapterInterface

$dataCount

$dataCount : integer

总数据条数

Type

integer

$data

$data : array

数据

Type

array

$max

$max : integer

最大页数

Type

integer

$current

$current : integer

当前页数

Type

integer

$next

$next : integer

下一页

Type

integer

$prev

$prev : integer

上一页

Type

integer

$pageSize

$pageSize : integer

分页大小,默认 10

Type

integer

Methods

getPager()

getPager(  $adapterObjOrClassName, array  $params) : void

工厂方法,根据 $adapterShortName 获取 adapter, $adapterClassName, 短类名或者长类名: 1. 短类名形如 medoo、pdo, 工厂会匹配: \hymie\pager\adapter\MedooPagerAdapter \hymie\pager\adapter\PdoPagerAdapter

  1. 长类名需要包含命名空间。

Parameters

$adapterObjOrClassName
array $params

__construct()

__construct(  $adapter) 

构造函数

检查配置文件、初始化参数 key,初始化方法、计算分页数据

Parameters

$adapter

doPage()

doPage(string  $page = null, string  $pageSize = null) : void

执行分页计算

Parameters

string $page

当前页

string $pageSize

每页长度

calculate()

calculate() : void

计算分页病获取分页后数据

getRange()

getRange(integer  $leftAndRight = 3) 

获取当前页,前 n 页,以及 后 n 页。

Parameters

integer $leftAndRight

前后各取多少页

getData()

getData() : array

获取分页后的数据

Returns

array

getCount()

getCount() : integer

总记录数

Returns

integer

getMax()

getMax() : integer

最大页数

Returns

integer

getCurrent()

getCurrent() : integer

当前页

Returns

integer

getRangeArray()

getRangeArray(integer  $leftAndRight = 3) : array

获取前 n 页 当前页 后 n 页数组

Parameters

integer $leftAndRight

Returns

array

getNext()

getNext() : void

下一页

getNextArray()

getNextArray(integer  $n = 3) : void

下 n 页

Parameters

integer $n

getPrev()

getPrev() : void

前一页

getPrevArray()

getPrevArray(integer  $n = 3) : void

前 n 页

Parameters

integer $n

getPageSize()

getPageSize() : void

页大小

checkConfig()

checkConfig(\hymie\pager\[type]  $config) : void

检查分页配置数据,配置数据配置在项目主目录 config.php 文件中。

$config[\'pagination\'][\'page_key\'] = \'p\' $config[\'pagination\'][\'size_key\'] = \'s\'

Parameters

\hymie\pager\[type] $config

initKeyParam()

initKeyParam(  $page,   $pageSize) : void

获取传参的 page_key 和 size_key 对应的值,并进行类型检查。

如果类型检查不通过或者值不存在,那么: $this->current 默认为 1 $this->pageSize 默认为 10

Parameters

$page
$pageSize

genPageQueryStringArray()

genPageQueryStringArray(integer  $pageNumber) : void

生成包含分页信息的 QueryString 字符串,用于拼链接

Parameters

integer $pageNumber