Постраничная навигация, при выводе элементов какой-либо сущности в Symfony - это одна из самых часто встречаемых задач, с которой приходится встречаться при создании каких-либо веб-проектов.

Давайте рассмотрим одно решение, которое может помочь в решении проблемы создании постраничной навигации (pagination) в ваших проектах.

Это решение заключается в использовании плагина KnpLabs/KnpPaginatorBundle.

Давайте сейчас поучимся с ним работать.

Для того, чтобы это показать, давайте откроем простой Symfony проект и создадим некую сущность Комментарий, постраничную навигацию которой мы с вами и будем реализовывать. 

Создаем сущность комментарий (подробнее в видео):

bin/console make:entity

У этой сущности будет только одно поле content. 

Теперь давайте для этой сущности создадим Crud контроллер:

bin/console make:crud

и выполним миграции в базу данных

После этого переходим на главную страницу, где будет выводится список всех комментариев /comment.

Для того, чтобы экспериментировать с постраничной навигацией, давайте создадим несколько комментариев, над которыми мы будем в следующей серии уроков реализовывать постраничную навигацию (pagination). 

Я создал 7 элементов. 

Представьте, что если таких элементов будет достаточно много, если это все выводить на одной странице, это, конечно, будет очень неудобно. Поэтому, нам нужна постраничная навигация, чтобы мы могли разбить вывод этих записей на отдельные страницы и переключаться на каждую страницу при выводе большого объема данных. 

Пока сделайте такую подготовительную работу  и в следующих видео мы начнем работать над этой постраничной навигацией и будем производить эту настройку.