PHPackages                             zfstarter/zfs-grid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. zfstarter/zfs-grid

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

zfstarter/zfs-grid
==================

1.0(11y ago)01661[1 issues](https://github.com/ZFStarter/ZFSGrid/issues)MITPHPPHP &gt;=5.3.23

Since Jun 11Pushed 11y agoCompare

[ Source](https://github.com/ZFStarter/ZFSGrid)[ Packagist](https://packagist.org/packages/zfstarter/zfs-grid)[ RSS](/packages/zfstarter-zfs-grid/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

zfs-grid
========

[](#zfs-grid)

Модель и представление данных в табличном виде.

Подключение
-----------

[](#подключение)

Модель может быть использована сразу после подклчения библиотеки через композер. Для использования помощников вида (ViewHelper) нужно в ваш `application.config.php` в ветки `service_manager` и `listeners` добавить следующее:

```
'service_manager' => array(
    'invokables' => array(
        'ZFS\Grid\View\Helper\Configurator' => 'ZFS\Grid\View\Helper\Configurator'
    )
),
'listeners' => array(
    'ZFS\Grid\View\Helper\Configurator'
)
```

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

```
$serviceLocator
    ->get('ViewHelperManager')
    ->setInvokableClass('gridRowValue', 'ZFS\Grid\View\Helper\GridRowValue');
```

Использование
-------------

[](#использование)

Для отображения данных в табличном виде нужны:

1. Сами данные:

```
$users = array(
    array(
        'id'     => 1,
        'login'  => 'Vasia',
        'email'  => 'vasia@pupkin.com',
        'status' => '0',
    ),
    array(
        'id'     => 2,
        'login'  => 'Fedia',
        'email'  => 'Fedia@nepupkin.com',
        'status' => '1',
    )
);
```

2. Модель "сетки":

```
$grid = new GridModel();
```

3. Установить гриду данные:

```
$grid->setRows($users);
```

4. Установить гриду набор колонок. Параметр name - системное имя колонки, fieldName - имя/ключ параметра в строке для выборки и подстановки в ячейку, title - заглавие колонки:

```
$grid->setColumns(
    array(
        new ColumnModel(array(
            'name'      => 'id',
            'fieldName' => 'id',
            'title'     => 'ID',
        )),
        new ColumnModel(array(
            'name'      => 'login',
            'fieldName' => 'login',
            'title'     => 'Login',
        )),
        new ColumnModel(array(
            'name'      => 'email',
            'fieldName' => 'email',
            'title'     => 'E-mail',
        ))
    )
);
```

5. Передать грид в представление:

```
// представим, что находимся в контроллере
return new ViewModel(array('grid' => $grid));
```

6. Отобразить таблицу в шаблоне с помощью ViewHelper'а Grid:

```

```

или отобразить таблицу вручную, если вы намеренно не подключили ViewHelper'ы.

Параметры GridModel и ColumnModel
---------------------------------

[](#параметры-gridmodel-и-columnmodel)

Все параметры ColumnModel можно устанавливать через get\* и set\* методы:

```
$column = new ColumnModel();
$column->setName('name');
$column->setFieldName('name');
$column->setTitle('User name');
```

Полный набор параметров у ColumnModel:

- name - системное имя колонки;
- fieldName - имя/ключ параметра в строке для выборки и подстановки в ячейку;
- title - заглавие колонки;
- formatter - callback, результат которого идет как значение в ячейку. Вызывается помощником вида GridRowValue после получения значения из строки и только при наличии этого параметра у ColumnModel. Сигнатура функции: `function ($valueFromRowCell, $wholeRow, $currentColumn) {}`;
- id - строка, подставляется в атрибут `id` тэгу `` в `` и ``;
- css - строка, подставляется в атрибут `class` тэгу `` в `` и ``;
- style - строка, подставляется в атрибут `style` тэгу `` в `` и ``;

У GridModel тоже есть подобные параметры:

- id - строка, подставляется в атрибут `id` тэгу ``;
- css - строка, подставляется в атрибут `class` тэгу ``
- style - строка, подставляется в атрибут `style` тэгу ``

И у ColumnModel и у GridModel есть возможность установки произвольных параметров через магические `__get` и `__set` для ручной их обработки в шаблонах представления.

Помощники вида
--------------

[](#помощники-вида)

В библиотеке реализованы следующие помощники вида:

- grid - отображение стандартной таблицы с использованием параметров id, css, style;
- gridHeader - отображение блока ``;
- gridHeaderRow - отображение строки заголовка: `...`;
- gridHeaderCell - отображение ячейки строки заголовка: `..`;
- gridBody - отображение блока ``;
- gridBodyRow - отображение строки тела: `...`;
- gridBodyCell - отображение ячейки строки тела: `...`;
- gridFooter - отображение блока ``;
- gridFooterRow - отображение строки футера: `...`;
- gridFooterCell - отображение ячейки строки футера: `..`;
- gridRowValue - отображение значения ячейки строки данных.

Для отображения стандартной таблицы достаточно использовать лишь `grid`:

```

```

Если вам не нужен футер, к примеру, можно воспользоваться помощниками вида ниже уровня: `gridHeader`, `gridBody`:

```

```

Полная аналогия с помощниками вида Zend\\Form.

Лицензия
--------

[](#лицензия)

MIT

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4353d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1148505?v=4)[Alex Khaylo](/maintainers/naxel)[@naxel](https://github.com/naxel)

![](https://www.gravatar.com/avatar/e4f54bfadf1b0fa52ebf1bdd7381abc801c94ef308f02ba60b3716dce84f641d?d=identicon)[filipp-qoma](/maintainers/filipp-qoma)

![](https://www.gravatar.com/avatar/62e06839728e4be3a26376de6535ef408ade1d38c90b5943286096588ff782d9?d=identicon)[farior2109](/maintainers/farior2109)

---

Top Contributors

[![filipp-kucheriavenko](https://avatars.githubusercontent.com/u/2970662?v=4)](https://github.com/filipp-kucheriavenko "filipp-kucheriavenko (9 commits)")

### Embed Badge

![Health badge](/badges/zfstarter-zfs-grid/health.svg)

```
[![Health](https://phpackages.com/badges/zfstarter-zfs-grid/health.svg)](https://phpackages.com/packages/zfstarter-zfs-grid)
```

###  Alternatives

[nikolaposa/zf-disqus

ZF module which facilitates integration of Disqus widgets

1210.7k](/packages/nikolaposa-zf-disqus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
