2017 © Pedro Peláez
 

symfony-bundle pager-bundle

Symfony KGPagerBundle

image

kgilden/pager-bundle

Symfony KGPagerBundle

  • Saturday, October 1, 2016
  • by kgilden
  • Repository
  • 1 Watchers
  • 0 Stars
  • 8,215 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 9 Versions
  • 0 % Grown

The README.md

KGPagerBundle

Build Status, (*1)

KGPagerBundle integrates kgilden/pager with the Symfony framework., (*2)

NB! This package is abandoned

The bundle was merged into the underyling library instead. Please use directly kgilden/pager in your projects., (*3)

Usage

By default a single pager is defined. Access it through the kg_pager service id. The current page is inferred from the page query parameter., (*4)

getDoctrine()
            ->getRepository('AppBundle:Product')
            ->createQueryBuilder('p')
        ;

        // 25 items per page is used by default.
        $itemsPerPage = 10;
        $page = $this->get('kg_pager')->paginate(Adapter::dql($qb), $itemsPerPage);

        return $this->render('App:Product:listPaged.html.twig', array(
            'page' => $page
        ));
    }
}

?>

Of course the pager can also be injected to any service., (*5)

pager = $pager;
    }

    public function doSomethingPaged()
    {
        $list = array('foo', 'bar', 'baz');

        return $this->pager->paginate(Adapter::_array($list), 2);
    }
}

?>
<service id="example_service" class="Acme\ExampleService">
    <argument type="service" id="kg_pager" />
</service>

Installation

Install using composer:, (*6)

composer.phar require kgilden/pager-bundle

The bundle must then be enabled in the kernel:, (*7)


That's it! no extra configuration necessary. You can make sure the bundle's up and running by executing, (*8)

app/console container:debug | grep kg_pager

If everything's working, it should print out the pager service., (*9)

Configuration

You may want to optinally configure the bundle to define several pagers, each with their own settings., (*10)

kg_pager:
    default: foo              # now `kg_pager` returns a pager named `foo`
    pagers:
        foo:
            per_page: 20      # how many items to have on a single page
            key: custom_page  # the key used to infer the current page i.e. `http://exapmle.com?custom_page=2`
            merge: 10         # if less than 10 items are left on the last page, merge it with the previous page
            redirect: false   # whether to redirect the user, if they requested an out of bounds page
        bar: ~                # pager with default settings

The pagers are registered in the service container as kg_pager.pager.%name% with the default pager aliased to kg_pager., (*11)

You may optionally want to have the default pager be automatically injected to your entity repositories. For this do the following:, (*12)

  • Have a custom repository class implement [PagerAwareInterface][Doctrine/PagerAwareInterface.php];
  • Set the class as the default repository class and add a custom factory service in doctrine configuration:, (*13)

    // app/config/config.yml
    doctrine:
       orm:
           default_repository_class: 'Repository\Implementing\PagerAwareInterface'
           repository_factory: 'kg_pager.pager_aware_repository_factory'
    
    

Contributing

If you think the bundle could be improved (which I'm 100% sure it can be), simply make a pull request or write an issue. Please try to follow the PSR coding style when contributing. Thanks!, (*14)

Testing

Simply run phpunit in the root directory of the bundle to run the full test suite., (*15)

License

This bundle is under the MIT license. See the complete license in the bundle:, (*16)

Resources/meta/LICENSE

The Versions

01/10 2016

dev-master

9999999-dev

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

The Development Requires

pagination

02/08 2016

v3.0.0

3.0.0.0

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

The Development Requires

pagination

05/12 2015

v2.0.1

2.0.1.0

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

pagination

09/05 2015

v2.0.0

2.0.0.0

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

pagination

24/03 2015

v2.0.0-beta1

2.0.0.0-beta1

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

pagination

15/02 2015
14/01 2015

v1.1.0

1.1.0.0

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

The Development Requires

pagination

10/02 2014

v1.0.1

1.0.1.0

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

The Development Requires

pagination

01/10 2013

v1.0.0

1.0.0.0

Symfony KGPagerBundle

  Sources   Download

MIT

The Requires

 

The Development Requires

pagination