PHPackages                             mapbender/data-source - 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. mapbender/data-source

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

mapbender/data-source
=====================

Mapbender data source handler

0.2.8(3y ago)113.5k2[1 issues](https://github.com/mapbender/data-source/issues)[1 PRs](https://github.com/mapbender/data-source/pulls)1MITPHPPHP &gt;=5.3.3CI failing

Since Sep 21Pushed 2y ago18 watchersCompare

[ Source](https://github.com/mapbender/data-source)[ Packagist](https://packagist.org/packages/mapbender/data-source)[ RSS](/packages/mapbender-data-source/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (88)Used By (1)

Deprecated
==========

[](#deprecated)

This repository is deprecated. Its functionality will be integrated into the [mapbender digitizer repository](https://github.com/mapbender/mapbender-digitizer) in version 2.0 and the code has already been ported to the [develop branch](https://github.com/mapbender/mapbender-digitizer/tree/develop/src/Mapbender/DataSourceBundle). Propose any changes there.

---

Old description: Mapbender data source module
---------------------------------------------

[](#old-description-mapbender-data-source-module)

Components abstracting raw doctrine tables into repositories.

The base DataStore is a repository promoting loaded rows into DataItem objects, and also supports DataItem objects when updating / inserting.

FeatureType is an extended repository type with spatial data support. It loads / stores Feature objects, with dedicated methods for accessing / replacing the geometry. The geometry is internally always an EWKT, but methods are provided to get / update the plain WKT or the SRID individually.

Only a single geometry column per table is supported.

Main repository methods
-----------------------

[](#main-repository-methods)

Method `search` loads all rows from the table and promotes them into an array of DataItem / Feature objects. Accepts an array of controlling parameters. Allowed params are `maxResults`, `where` (string; additional SQL where clause). FeatureType additionally supports params `srid` (explicit geometry output SRID) and `intersect`(string; (E)WKT geometry to spatially limit results).

Method `count` Accepts the same parameters as search, but returns only the number of matched rows.

Method `getById` loads one DataItem / Feature. Filters are skipped.

Methods `save`, `insert`, `update` perform storage. `save` auto-inflects to insert or update, depending on the presence of an id in the passed argument. These methods accept either DataItem / Feature objects or arrays. The affected or new row is reloaded and returned as a DataItem / Feature object.

Method `delete` removes the row corresponding with an id or a specific DataItem / Feature object.

Configuring repositories
------------------------

[](#configuring-repositories)

Named DataStore / FeatureType repositorys can be pre-configured globally via container parameters (`dataStores` and `featureTypes` respectively), or instantiated ad hoc from a configuration array.

DataStore configuration supports the following values:

nametypedescriptiondefaultconnectionstringname of doctrine connection"default"tablestringname of table; required-none-uniqueIdstringname of primary id column"id"fieldslist of stringsnames of columns to load into DataItem / Feature objectsnull (=auto-detect columns)filterstringvalid SQL where clause to build into all `search` invocationsnullgeomField (FeatureType only)stringname of the geometry column"geom"srid (FeatureType only)integer or nullSource srid of `geomField`; used only if detection fails (certain views)nullNOTE: you should *not* attempt placing spatial data into the "default" database containing your Doctrine entities. You *will* encounter errors running Doctrine schema updates.

NOTE: Both the `filter` setting and the `where` search param may use a magic placeholder `:userName`, which is automatically bound to the name of the user running the query.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 70.2% 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

Every ~34 days

Recently: every ~39 days

Total

78

Last Release

1279d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e93698c8e1784f88100eab35a186fab222bcbb5dc805d52f36cb6c459fa4743c?d=identicon)[werrolf](/maintainers/werrolf)

![](https://www.gravatar.com/avatar/0154eb5bdfa738d2bbc95bb345ba5f971d9395a2318f8724e42fa3bd384ae9c2?d=identicon)[LazerTiberius](/maintainers/LazerTiberius)

![](https://www.gravatar.com/avatar/edc576f86046edb0015945a3a3d25416817641cf746711c59574662cc7b9a791?d=identicon)[Phocacius](/maintainers/Phocacius)

![](https://www.gravatar.com/avatar/ebb4ec9ae68f36a1f5a3fd3b71b42a4029484a70e5f4c59bb7fb76b09f0d9e6e?d=identicon)[astroidex](/maintainers/astroidex)

---

Top Contributors

[![werrolf](https://avatars.githubusercontent.com/u/24895932?v=4)](https://github.com/werrolf "werrolf (409 commits)")[![eSlider](https://avatars.githubusercontent.com/u/1188335?v=4)](https://github.com/eSlider "eSlider (149 commits)")[![DavidPatzke](https://avatars.githubusercontent.com/u/5700151?v=4)](https://github.com/DavidPatzke "DavidPatzke (13 commits)")[![frwg](https://avatars.githubusercontent.com/u/44997160?v=4)](https://github.com/frwg "frwg (9 commits)")[![pfavero-wheregroup](https://avatars.githubusercontent.com/u/45092671?v=4)](https://github.com/pfavero-wheregroup "pfavero-wheregroup (1 commits)")[![Phocacius](https://avatars.githubusercontent.com/u/3438255?v=4)](https://github.com/Phocacius "Phocacius (1 commits)")[![chringel21](https://avatars.githubusercontent.com/u/6780575?v=4)](https://github.com/chringel21 "chringel21 (1 commits)")

---

Tags

datamapbenderdata-source

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mapbender-data-source/health.svg)

```
[![Health](https://phpackages.com/badges/mapbender-data-source/health.svg)](https://phpackages.com/packages/mapbender-data-source)
```

###  Alternatives

[fakerphp/faker

Faker is a PHP library that generates fake data for you.

4.0k358.5M3.5k](/packages/fakerphp-faker)[dflydev/dot-access-data

Given a deep data structure, access data by dot notation.

720359.1M86](/packages/dflydev-dot-access-data)[mbezhanov/faker-provider-collection

A collection of custom providers for the Faker library

2138.6M24](/packages/mbezhanov-faker-provider-collection)[php-units-of-measure/php-units-of-measure

A PHP library for converting between standard units of measure.

3123.4M20](/packages/php-units-of-measure-php-units-of-measure)[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[amenadiel/jpgraph

Composer Friendly, full refactor of JpGraph, library to make graphs and charts

1492.2M7](/packages/amenadiel-jpgraph)

PHPackages © 2026

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