PHPackages                             survos/grid-group-bundle - 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. survos/grid-group-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

survos/grid-group-bundle
========================

Handle groups of CSV as a spreadsheet

1.6.44(9mo ago)01.9kMITPHPPHP ^8.3

Since Jan 1Pushed 9mo ago2 watchersCompare

[ Source](https://github.com/survos/SurvosGridGroupBundle)[ Packagist](https://packagist.org/packages/survos/grid-group-bundle)[ GitHub Sponsors](https://github.com/kbond)[ RSS](/packages/survos-grid-group-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (21)Versions (704)Used By (0)

Grid Group Bundle
=================

[](#grid-group-bundle)

Under development! And will probably be replaced by Pixy/Pixie/KeyValue bundle, which uses Sqlite instead of csv. But some tools here could be helpful.

A bundle to manipulate a set of CSV files as a database. The idea is to avoid having to create temporary entities or models during the data import.

CsvParser
---------

[](#csvparser)

The [CSV Reader](https://csv.thephpleague.com/9.0/reader/) class is an excellent way to read records from csv.

```
$csv = Reader::createFromPath('/path/to/file.csv', 'r');
$csv->setHeaderOffset(0);
$header_offset = $csv->getHeaderOffset(); //returns 0
$header = $csv->getHeader(); //returns ['First Name', 'Last Name', 'E-mail']
```

Example: create a simple related table.
---------------------------------------

[](#example-create-a-simple-related-table)

Given a movie CSV table, create a CsvDatabase (GridGroup?)

```
id,title,poster,overview,release_date,genres
287947,Shazam!,https://image.tmdb.org/t/p/w500/xnopI5Xtky18MPhK40cZAGAOVeV.jpg,"A boy is given the ability to become an adult superhero in times of need with a single magic word.",1553299200,"Action, Comedy, Fantasy"
299537,"Captain Marvel",https://image.tmdb.org/t/p/w500/AtsgWhDnHTq68L0lLsUrCnM7TjG.jpg,"The story follows Carol Danvers as she becomes one of the universe’s most powerful heroes when Earth is caught in the middle of a galactic war between two alien races. Set in the 1990s, Captain Marvel is an all-new adventure from a previously unseen period in the history of the Marvel Cinematic Universe.",1551830400,"Action, Adventure, Science Fiction"
```

Create a movie.csv and genre.csv, with genre counts as an extra field

We need a schema to define the output csv database, which we can create by naming the fields.

```
$gridGroup = new GridGroup('movie_and_genre');
$grid = (new \Survos\GridGroupBundle\Model\Grid('movie'));
$grid->addRow()
```

Defining the schema
-------------------

[](#defining-the-schema)

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance57

Moderate activity, may be stable

Popularity16

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

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

Every ~1 days

Total

703

Last Release

296d ago

PHP version history (2 changes)1.2.36PHP ^8.1

1.5.408PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/21b39551f92ed4143772c622f9e571589c5a72c96ab3c53fe67489ce0d83e806?d=identicon)[tacman1123](/maintainers/tacman1123)

---

Tags

symfony-uxsymfony6

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

![Health badge](/badges/survos-grid-group-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/survos-grid-group-bundle/health.svg)](https://phpackages.com/packages/survos-grid-group-bundle)
```

###  Alternatives

[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[symfony/ux-toggle-password

Toggle visibility of password inputs for Symfony Forms

26508.0k5](/packages/symfony-ux-toggle-password)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)[symfony/ux-cropperjs

Cropper.js integration for Symfony

19280.3k3](/packages/symfony-ux-cropperjs)

PHPackages © 2026

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