2017 © Pedro Peláez
 

cakephp-plugin cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

image

bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  • Thursday, May 17, 2018
  • by bcrowe
  • Repository
  • 4 Watchers
  • 28 Stars
  • 5,943 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 14 Versions
  • 17 % Grown

The README.md

CakePHP API Pagination

Latest Version on Packagist ![Software License][ico-license] Build Status ![Coverage Status][ico-scrutinizer] Quality Score ![Total Downloads][ico-downloads], (*1)

This is a simple component for CakePHP 4.2+ which injects pagination information from CakePHP's Paginator into serialized JsonView and XmlView responses., (*2)

See 1.x and 2.x releases and branches of this plugin for support of previous versions of CakePHP before 4.2., (*3)

Install

Via Composer, (*4)

``` bash $ composer require bcrowe/cakephp-api-pagination, (*5)


Load the plugin by adding `$this->addPlugin('BryanCrowe/ApiPagination');` to the `bootsrap` method in your project’s `src/Application.php`: ``` php public function bootstrap(): void { parent::bootstrap(); // ... bootstrap code ... // load more plugins here $this->addPlugin('BryanCrowe/ApiPagination'); }

Usage

Make sure your application has been set up to use data views; see the Enabling Data Views in Your Application section of the CakePHP documentation., (*6)

Then, load ApiPaginationComponent:, (*7)

``` php $this->loadComponent('BryanCrowe/ApiPagination.ApiPagination');, (*8)


Then, go ahead and set your paginated view variable like so: ``` php $this->set('articles', $this->paginate($this->Articles)); $this->viewBuilder()->setOption('serialize', ['articles']);

Note: It is important that your serialize option is an array, e.g. ['articles'], so that your pagination information can be set under its own pagination key., (*9)

Your JsonView and XmlView responses will now contain the pagination information, and will look something like this:, (*10)

``` json { "articles": ["...", "...", "..."], "pagination": { "finder": "all", "page": 1, "current": 20, "count": 5000, "perPage": 20, "prevPage": false, "nextPage": true, "pageCount": 250, "sort": null, "direction": false, "limit": null, "sortDefault": false, "directionDefault": false } }, (*11)


### Configuring the Pagination Output ApiPagination has four keys for configuration: `key`, `aliases`, `visible` and `model`. * `key` allows you to change the name of the pagination key. * `aliases` allows you to change names of the pagination detail keys. * `visible` allows you to set which pagination keys will be exposed in the response. **Note:** Whenever setting a key's visibility, make sure to use the aliased name if you've given it one. * `model` allows you to set the name of the model the pagination is applied on if the controller does not follow CakePHP conventions, e.g. `ArticlesIndexController`. Per default the model is the name of the controller, e.g. `Articles` for `ArticlesController`. An example using all these configuration keys: ``` php $this->loadComponent('BryanCrowe/ApiPagination.ApiPagination', [ 'key' => 'paging', 'aliases' => [ 'page' => 'currentPage', 'current' => 'resultCount' ], 'visible' => [ 'currentPage', 'resultCount', 'prevPage', 'nextPage' ], 'model' => 'Articles', ]);

This configuration would yield:, (*12)

``` json { "articles": ["...", "...", "..."], "paging": { "prevPage": false, "nextPage": true, "currentPage": 1, "resultCount": 20 } }, (*13)


## Changelog Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. ## Testing ``` bash $ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details., (*14)

Security

If you discover any security related issues, please email bryan@bryan-crowe.com instead of using the issue tracker., (*15)

Credits

License

The MIT License (MIT). Please see License File for more information., (*16)

The Versions

17/05 2018

dev-master

9999999-dev https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

17/05 2018

1.2.0

1.2.0.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

18/05 2016

1.1.0

1.1.0.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

10/03 2016

1.0.1

1.0.1.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

07/12 2015

1.0.0

1.0.0.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

23/11 2015

0.0.9

0.0.9.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

29/10 2015

0.0.8

0.0.8.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

19/10 2015

0.0.7

0.0.7.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

02/09 2015

0.0.6

0.0.6.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

28/08 2015

0.0.5

0.0.5.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

16/08 2015

0.0.4

0.0.4.0 https://github.com/bcrowe/cakephp-api-pagination

CakePHP 3 plugin that injects pagination information into API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination cakephp3

27/07 2015

0.0.3

0.0.3.0 https://github.com/bcrowe/cakephp-api-pagination

This packages provides a CakePHP component that adds pagination to your API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination

27/07 2015

0.0.2

0.0.2.0 https://github.com/bcrowe/cakephp-api-pagination

This packages provides a CakePHP component that adds pagination to your API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination

26/07 2015

0.0.1

0.0.1.0 https://github.com/bcrowe/cakephp-api-pagination

This packages provides a CakePHP component that adds pagination to your API responses.

  Sources   Download

MIT

The Requires

 

The Development Requires

api cakephp pagination