PHPackages                             cstuder/parse-valueholder - 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. cstuder/parse-valueholder

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

cstuder/parse-valueholder
=========================

PHP value holder objects for `parse-hydrodaten` and `parse-swissmetnet`

v0.2.2(1y ago)1763MITPHPPHP &gt;=8.1

Since Aug 17Pushed 1y ago1 watchersCompare

[ Source](https://github.com/cstuder/parse-valueholder)[ Packagist](https://packagist.org/packages/cstuder/parse-valueholder)[ RSS](/packages/cstuder-parse-valueholder/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (1)Versions (9)Used By (3)

parse-valueholder
=================

[](#parse-valueholder)

[![PHPUnit tests](https://github.com/cstuder/parse-valueholder/actions/workflows/phpunit.yml/badge.svg)](https://github.com/cstuder/parse-valueholder/actions/workflows/phpunit.yml)

PHP value holder objects for [parse-hydrodaten](https://github.com/cstuder/parse-hydrodaten) and [parse-swissmetnet](https://github.com/cstuder/parse-swissmetnet)

This simple library provides immutable typed value holder objects (DTO) with the readonly fields timestamp, location, parameter and value.

Also provides a iterable row object containing an array of values and some simple statistic methods, along with a CSV parser.

Example
-------

[](#example)

Installation: `composer require cstuder/parse-valueholder`

```
$data = new \cstuder\ParseValueholder\Value(
  $timestamp,
  $locationString,
  $parameterString,
  $value
);

echo $data->timestamp;
echo $data->location;
echo $data->parameter;
echo $data->value;
```

### Row of values

[](#row-of-values)

```
$row = new \cstuder\ParseValueholder\Row([
  $value1,
  $value2
]);

$row->append($value3);

foreach($row as $value) {
  var_dump($value);
}
```

### CSV Parser

[](#csv-parser)

A simple CSV parser to parse CSV files without header, in the format `timestamp, location, parameter, value`, i.e.:

```
1675281000,BER,tt,5.7
```

Delimiters, enclosure and escape characters are configurable.

All values are cast to float.

Parses either from a file or from a string:

```
$row = \cstuder\ParseValueholder\Utils\CsvParser::parseFile($filename);

$row2 = \cstuder\ParseValueholder\Utils\CsvParser::parseString("1675281000,BER,tt,5.7\n1675281600,BER,tt,5.8");
```

Testing
-------

[](#testing)

Run `composer test` to execute the PHPUnit test suite.

Releasing
---------

[](#releasing)

1. Add changes to the [changelog](CHANGELOG.md).
2. Create a new tag `vX.X.X`.
3. Push.

License
-------

[](#license)

MIT.

Author
------

[](#author)

Christian Studer , Bureau für digitale Existenz.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity55

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

Every ~179 days

Total

8

Last Release

527d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/187a50291ddb9eb756891e4e54da3c856075ac55f776b74c5fa324f2074d193d?d=identicon)[cstuder](/maintainers/cstuder)

---

Top Contributors

[![cstuder](https://avatars.githubusercontent.com/u/288493?v=4)](https://github.com/cstuder "cstuder (18 commits)")

---

Tags

existenzphp

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/cstuder-parse-valueholder/health.svg)

```
[![Health](https://phpackages.com/badges/cstuder-parse-valueholder/health.svg)](https://phpackages.com/packages/cstuder-parse-valueholder)
```

###  Alternatives

[moneyphp/money

PHP implementation of Fowler's Money pattern

4.8k91.5M523](/packages/moneyphp-money)[nette/php-generator

🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.5 features.

2.3k72.7M764](/packages/nette-php-generator)[tobiasbg/tablepress

TablePress plugin for WordPress

29018.3k](/packages/tobiasbg-tablepress)[zonneplan/laravel-module-loader

Module loader for Laravel

24124.8k](/packages/zonneplan-laravel-module-loader)[aknife/ip

获取ip信息，支持ipv4和 ipv6

263.4k1](/packages/aknife-ip)[michael-milette/moodle-local_mailtest

eMailTest is a Moodle local plugin that can help diagnose SMTP email connectivity issues.

191.3k](/packages/michael-milette-moodle-local-mailtest)

PHPackages © 2026

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