Phalcon分页器
注意
所有类都以前缀命名Phalcon
分页器\适配器\AbstractAdapter
¶
  -  
命名空间
Phalcon\Paginator\Adapter
 -  
使用
Phalcon\Paginator\ExceptionPhalcon\Paginator\RepositoryPhalcon\Paginator\RepositoryInterface
 -  
继承
 -  
实现
AdapterInterface
 
Phalcon\分页器\适配器\AbstractAdapter
属性¶
/**
 * Configuration of paginator
 *
 * @var array
 */
protected $config;
/**
 * Number of rows to show in the paginator. By default is null
 *
 * @var int|null
 */
protected $limitRows;
/**
 * Current page in paginate
 *
 * @var int|null
 */
protected $page;
/**
 * Repository for pagination
 *
 * @var RepositoryInterface
 */
protected $repository;
方法¶
Phalcon\分页器\适配器\AbstractAdapter构造函数 获取当前行数限制 设置当前页码 设置当前行数限制 设置当前用于分页的存储库 获取当前用于分页的存储库分页器\适配器\AdapterInterface
¶
  -  
命名空间
Phalcon\Paginator\Adapter
 -  
使用
Phalcon\Paginator\RepositoryInterface
 -  
继承
 -  
实现
 
Phalcon\分页器\AdapterInterface
Phalcon\分页器适配器的接口
方法¶
获取当前行数限制 返回用于分页的结果集片段 设置当前页码 设置当前行数限制分页器\适配器\Model¶
-  
命名空间
Phalcon\Paginator\Adapter
 -  
使用
Phalcon\Mvc\ModelInterfacePhalcon\Mvc\Model\ResultsetInterfacePhalcon\Paginator\ExceptionPhalcon\Paginator\RepositoryInterface
 -  
继承
AbstractAdapter -  
实现
 
Phalcon\分页器\适配器\Model
此适配器允许使用Phalcon\Mvc\Model结果集作为基础进行分页。
use Phalcon\Paginator\Adapter\Model;
$paginator = new Model(
    [
        "model" => Robots::class,
        "limit" => 25,
        "page"  => $currentPage,
    ]
);
$paginator = new Model(
    [
        "model" => Robots::class,
        "parameters" => [
             "columns" => "id, name"
        ],
        "limit" => 12,
        "page"  => $currentPage,
    ]
);
$paginator = new Model(
    [
        "model" => Robots::class,
        "parameters" => [
             "type = :type:",
             "bind" => [
                 "type" => "mechanical"
             ],
             "order" => "name"
        ],
        "limit" => 16,
        "page"  => $currentPage,
    ]
);
$paginator = new Model(
    [
        "model" => Robots::class,
        "parameters" => "(id % 2) = 0",
        "limit" => 8,
        "page"  => $currentPage,
    ]
);
$paginator = new Model(
    [
        "model" => Robots::class,
        "parameters" => [ "(id % 2) = 0" ],
        "limit" => 8,
        "page"  => $currentPage,
    ]
);
$paginate = $paginator->paginate();
方法¶
返回用于分页的结果集片段分页器\适配器\NativeArray¶
-  
命名空间
Phalcon\Paginator\Adapter
 -  
使用
Phalcon\Paginator\ExceptionPhalcon\Paginator\RepositoryInterface
 -  
继承
AbstractAdapter -  
实现
 
Phalcon\分页器\适配器\NativeArray
使用PHP数组作为数据源进行分页
use Phalcon\Paginator\Adapter\NativeArray;
$paginator = new NativeArray(
    [
        "data"  => [
            ["id" => 1, "name" => "Artichoke"],
            ["id" => 2, "name" => "Carrots"],
            ["id" => 3, "name" => "Beet"],
            ["id" => 4, "name" => "Lettuce"],
            ["id" => 5, "name" => ""],
        ],
        "limit" => 2,
        "page"  => $currentPage,
    ]
);
方法¶
返回用于分页的结果集片段分页器\适配器\QueryBuilder¶
-  
命名空间
Phalcon\Paginator\Adapter
 -  
使用
Phalcon\Db\EnumPhalcon\Mvc\Model\Query\BuilderPhalcon\Paginator\ExceptionPhalcon\Paginator\RepositoryInterface
 -  
继承
AbstractAdapter -  
实现
 
Phalcon\分页器\适配器\QueryBuilder
使用PHQL查询生成器作为数据源进行分页
use Phalcon\Paginator\Adapter\QueryBuilder;
$builder = $this->modelsManager->createBuilder()
                ->columns("id, name")
                ->from(Robots::class)
                ->orderBy("name");
$paginator = new QueryBuilder(
    [
        "builder" => $builder,
        "limit"   => 20,
        "page"    => 1,
    ]
);
属性¶
/**
 * Paginator's data
 *
 * @var Builder
 */
protected $builder;
/**
 * Columns for count query if builder has having
 *
 * @var array|string
 */
protected $columns;
方法¶
Phalcon\分页器\适配器\QueryBuilder 获取当前页码 获取查询生成器对象 返回用于分页的结果集片段 设置查询生成器对象分页器\Exception¶
-  
命名空间
Phalcon\Paginator
 -  
使用
 -  
继承
\Exception -  
实现
 
Phalcon\分页器\Exception
在Phalcon\分页器中抛出的异常将使用此类
分页器\PaginatorFactory¶
-  
命名空间
Phalcon\Paginator
 -  
使用
Phalcon\Factory\AbstractFactoryPhalcon\Paginator\Adapter\AdapterInterface
 -  
继承
AbstractFactory -  
实现
 
该文件是Phalcon框架的一部分。
(c) Phalcon团队team@phalcon.io
有关完整的版权和许可信息,请查看随此源代码分发的LICENSE.txt文件。
方法¶
AdapterFactory构造函数。 从Config对象创建实例的工厂use Phalcon\Paginator\PaginatorFactory;
$builder = $this
     ->modelsManager
     ->createBuilder()
     ->columns("id, name")
     ->from(Robots::class)
     ->orderBy("name");
$options = [
    "builder" => $builder,
    "limit"   => 20,
    "page"    => 1,
    "adapter" => "queryBuilder",
];
$paginator = (new PaginatorFactory())->load($options);
分页器\Repository¶
-  
命名空间
Phalcon\Paginator
 -  
使用
JsonSerializable
 -  
继承
 -  
实现
JsonSerializableRepositoryInterface
 
Phalcon\分页器\Repository
当前状态的存储库Phalcon\分页器\适配器Interface::paginate()
属性¶
方法¶
查看jsonSerialize 通过名称获取属性值 解析属性别名名称分页器\RepositoryInterface
¶
  -  
命名空间
Phalcon\Paginator
 -  
使用
 -  
继承
 -  
实现
 
Phalcon\分页器\RepositoryInterface
当前状态Phalcon\分页器\适配器Interface::paginate()的存储库接口
常量¶
const PROPERTY_CURRENT_PAGE = current;
const PROPERTY_FIRST_PAGE = first;
const PROPERTY_ITEMS = items;
const PROPERTY_LAST_PAGE = last;
const PROPERTY_LIMIT = limit;
const PROPERTY_NEXT_PAGE = next;
const PROPERTY_PREVIOUS_PAGE = previous;
const PROPERTY_TOTAL_ITEMS = total_items;