1
我正在ZF2中編寫我的第一個應用程序,並且我想創建分頁系統。ZF2中每個控制器的相同分頁器
目前,我有我的控制器是這樣的:
$pagLimit = $this->params()->fromQuery('limit', 1000);
$pagPage = $this->params()->fromQuery('page', 1);
$orderDir = $this->params()->fromQuery('dir', 'ASC');
$orderBy = $this->params()->fromQuery('column', 'id');
$result = $this->getMapper()->getList($orderDir, $orderBy);
$paginator = new Paginator(new ArrayAdapter($result));
$paginator->setItemCountPerPage($pagLimit);
$paginator->setCurrentPageNumber($pagPage);
我認爲我的解決辦法是不太好..
如果我想例如,改變每頁項目的默認限制,我必須修改我的所有控制器。另外,我必須記得爲所有正在獲取數據列表的mapper方法發送兩個參數。
我的第一個想法是使用繼承(「MyController」),如setPaginationParams()和setPaginator($ data))。
然後,我將不得不記得在每個控制器中調用「我的控制器」方法。
但也許有更好的方式來實現模塊中的每個控制器相同的paginator? MVC事件?創建自定義類並使用DI?
實現此功能的最佳方法是什麼?
你能給我一些提示嗎?
我是ZF2和OOP概念的新手。 :(