Sections

Abstract Class Phalcon\Paginator\Adapter\AbstractAdapter

Исходный код на GitHub

Namespace Phalcon\Paginator\Adapter   Uses Phalcon\Paginator\Repository, Phalcon\Paginator\RepositoryInterface   Implements AdapterInterface

Phalcon\Paginator\Adapter\AbstractAdapter

Properties

/**
 * Configuration of paginator
 */
protected config;

/**
 * Number of rows to show in the paginator. By default is null
 */
protected limitRows;

/**
 * Current page in paginate
 */
protected page;

/**
 * Repository for pagination
 *
 * @var RepositoryInterface
 */
protected repository;

Методы

public function __construct( array $config ): void;

Phalcon\Paginator\Adapter\AbstractAdapter constructor

public function getLimit(): int;

Get current rows limit

public function setCurrentPage( int $page ): Adapter;

Set the current page number

public function setLimit( int $limitRows ): Adapter;

Set current rows limit

public function setRepository( RepositoryInterface $repository ): Adapter;

Sets current repository for pagination

protected function getRepository( array $properties = null ): RepositoryInterface;

Gets current repository for pagination

Interface Phalcon\Paginator\Adapter\AdapterInterface

Исходный код на GitHub

Namespace Phalcon\Paginator\Adapter   Uses Phalcon\Paginator\RepositoryInterface

Phalcon\Paginator\AdapterInterface

Interface for Phalcon\Paginator adapters

Методы

public function getLimit(): int;

Get current rows limit

public function paginate(): RepositoryInterface;

Returns a slice of the resultset to show in the pagination

public function setCurrentPage( int $page );

Set the current page number

public function setLimit( int $limit );

Set current rows limit

Class Phalcon\Paginator\Adapter\Model

Исходный код на GitHub

Namespace Phalcon\Paginator\Adapter   Uses Phalcon\Paginator\Exception, Phalcon\Paginator\Adapter\AbstractAdapter, Phalcon\Paginator\RepositoryInterface   Extends AbstractAdapter

Phalcon\Paginator\Adapter\Model

This adapter allows to paginate data using a Phalcon\Mvc\Model resultset as a base.

use Phalcon\Paginator\Adapter\Model;

$paginator = new Model(
    [
        "data"  => Robots::find(),
        "limit" => 25,
        "page"  => $currentPage,
    ]
);

$paginate = $paginator->paginate();

Методы

public function paginate(): RepositoryInterface;

Returns a slice of the resultset to show in the pagination

Class Phalcon\Paginator\Adapter\NativeArray

Исходный код на GitHub

Namespace Phalcon\Paginator\Adapter   Uses Phalcon\Paginator\Exception, Phalcon\Paginator\Adapter\AbstractAdapter, Phalcon\Paginator\RepositoryInterface   Extends AbstractAdapter

Phalcon\Paginator\Adapter\NativeArray

Pagination using a PHP array as source of data

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,
    ]
);

Методы

public function paginate(): RepositoryInterface;

Returns a slice of the resultset to show in the pagination

Class Phalcon\Paginator\Adapter\QueryBuilder

Исходный код на GitHub

Namespace Phalcon\Paginator\Adapter   Uses Phalcon\Db\Enum, Phalcon\Mvc\Model\Query\Builder, Phalcon\Paginator\Adapter\AbstractAdapter, Phalcon\Paginator\RepositoryInterface, Phalcon\Paginator\Exception   Extends AbstractAdapter

Phalcon\Paginator\Adapter\QueryBuilder

Pagination using a PHQL query builder as source of data

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,
    ]
);

Properties

/**
 * Paginator's data
 */
protected builder;

/**
 * Columns for count query if builder has having
 */
protected columns;

Методы

public function __construct( array $config ): void;

Phalcon\Paginator\Adapter\QueryBuilder

public function getCurrentPage(): int;

Get the current page number

public function getQueryBuilder(): Builder;

Get query builder object

public function paginate(): RepositoryInterface;

Returns a slice of the resultset to show in the pagination

public function setQueryBuilder( Builder $builder ): QueryBuilder;

Set query builder object

Class Phalcon\Paginator\Exception

Исходный код на GitHub

Namespace Phalcon\Paginator   Extends \Phalcon\Exception

Phalcon\Paginator\Exception

Exceptions thrown in Phalcon\Paginator will use this class

Class Phalcon\Paginator\PaginatorFactory

Исходный код на GitHub

Namespace Phalcon\Paginator   Uses Phalcon\Paginator\Adapter\AbstractAdapter, Phalcon\Factory\AbstractFactory, Phalcon\Helper\Arr   Extends AbstractFactory

This file is part of the Phalcon Framework.

(c) Phalcon Team [email protected]

For the full copyright and license information, please view the LICENSE.txt file that was distributed with this source code.

Методы

public function __construct( array $services = [] );

AdapterFactory constructor.

public function load( mixed $config ): mixed;

Factory to create an instace from a Config object

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);
public function newInstance( string $name, array $options = [] ): AbstractAdapter;

Create a new instance of the adapter

protected function getAdapters(): array;

//

Class Phalcon\Paginator\Repository

Исходный код на GitHub

Namespace Phalcon\Paginator   Uses Phalcon\Helper\Arr   Implements RepositoryInterface

Phalcon\Paginator\Repository

Repository of current state Phalcon\Paginator\AdapterInterface::paginate()

Properties

/**
 * @var array
 */
protected aliases;

/**
 * @var array
 */
protected properties;

Методы

public function __get( string $property ): mixed | null;

{@inheritdoc}

public function getAliases(): array;

{@inheritdoc}

public function getCurrent(): int;

{@inheritdoc}

public function getFirst(): int;

{@inheritdoc}

public function getItems(): mixed;

{@inheritdoc}

public function getLast(): int;

{@inheritdoc}

public function getLimit(): int;

{@inheritdoc}

public function getNext(): int;

{@inheritdoc}

public function getPrevious(): int;

{@inheritdoc}

public function getTotalItems(): int;

{@inheritdoc}

public function setAliases( array $aliases ): RepositoryInterface;

{@inheritdoc}

public function setProperties( array $properties ): RepositoryInterface;

{@inheritdoc}

protected function getProperty( string $property, mixed $defaultValue = null ): mixed;

Gets value of property by name

protected function getRealNameProperty( string $property ): string;

Resolve alias property name

Interface Phalcon\Paginator\RepositoryInterface

Исходный код на GitHub

Namespace Phalcon\Paginator

Phalcon\Paginator\RepositoryInterface

Interface for the repository of current state Phalcon\Paginator\AdapterInterface::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;

Методы

public function getAliases(): array;

Gets the aliases for properties repository

public function getCurrent(): int;

Gets number of the current page

public function getFirst(): int;

Gets number of the first page

public function getItems(): mixed;

Gets the items on the current page

public function getLast(): int;

Gets number of the last page

public function getLimit(): int;

Gets current rows limit

public function getNext(): int;

Gets number of the next page

public function getPrevious(): int;

Gets number of the previous page

public function getTotalItems(): int;

Gets the total number of items

public function setAliases( array $aliases ): RepositoryInterface;

Sets the aliases for properties repository

public function setProperties( array $properties ): RepositoryInterface;

Sets values for properties of the repository