Починаючи вивчати Zend Framework мимовільно зібрався макет для управління таблицой і її вміст в базі даних. Зараз розповім як саме.
Перші кроки з Zend я робив за прикладами Роба Аллена.
Зокрема з цього навчального матеріалу.
Пропонувалося зібрати табличку альбомів. Додавати, редагувати і видаляти в ній записи. І, взагалі-то все.
Звичайний висновок на сторінку списку альбомів.
Захотілося, вивчити як працює Zend_Paginator і зробити посторінковий вивід.
Правда, я щоб не мавпувати на 100%, вирішив назвати в своєму прикладі не Albums, а Pages. (Ну типу пишу свою CMS і у мене вже сторінки правляться з бази, админка на ZF)
І як тільки я почав шукати як же прикрутити пейджинг або пейджінейтор, весь час наражався на статті та приклади далекі від абстрактної моделі роботи з базами даних.
Пропоную використовувати Zend_Db_Table_Abstract замість звично зустрічаються в прикладах Zend_Db_Table і Zend_Db_Select.
До файлів темплейтов не чіплятися, мені теж не подобається мішанина php-коду + HTML, але таке ось поняття MVC у Zend.
У мене вийшло ось що.
Controller (application / controllers / IndexController.php) виглядає так:
Шаблон (application / views / scripts / pagination.phtml) пагінатора:
DB модель (application / models / DbTable / Pages.php)
Тут до ПЕЙДЖИНГ відноситься тільки назва таблиці в базі даних.
І сам (application / views / scripts / index / index.phtml):
Ось ці знання мені стали в нагоді в реалізації посторінкового виведення на Zend Framework.