PHPackages                             atrumursus/values-adapter - 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. atrumursus/values-adapter

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

atrumursus/values-adapter
=========================

php values adapter

v1.0.0(1y ago)01MITPHPPHP ^8.2

Since Dec 13Pushed 1y ago1 watchersCompare

[ Source](https://github.com/atrumursus/values-adapter)[ Packagist](https://packagist.org/packages/atrumursus/values-adapter)[ RSS](/packages/atrumursus-values-adapter/feed)WikiDiscussions main Synced 1mo ago

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

values-adapter
==============

[](#values-adapter)

The library allows you to verify and convert variables of various types. It can be useful for working with data in REST requests, or when analyzing data coming from outside.

Install
-------

[](#install)

```
composer require atrumursus/values-adapter

```

Sample 1 :
----------

[](#sample-1-)

```
(new VInt())->min(1)->max(11)->convert('10')
	equal 10

(new VBool())->convert('on')
	equal true

(new VDateTime())->outFormat(\DateTime::ATOM)->inFormat(\DateTime::RFC850)->convert("Sunday, 17-Nov-24 18:56:48 UTC")
	equal "2024-11-17T18:56:48+00:00"

```

Sample 2 :
----------

[](#sample-2-)

Input Data:

```
[
	'employee' => [
		'name' => '  JAMES',
		'lastname' => '   BOnd   ',
		'additional' => [
			'age' => '27',
			'gender' => 'man'
		]
	]
];

```

Prepared adapter:

```
$adapter = (new VDict())
	->src('employee')
	->map([
		'NAME' => [
			'src' => 'name',
			'adapter' => (new VString())->case('title')->trim(true)
		],
		'LAST_NAME' => [
			'src' => 'lastname',
			'adapter' => (new VString())->case('title')->trim(true)
		],
		'FULL_NAME' => [
			'extractor' => function ($data, $options) {
				$adapter = (new VExistString)->default('')->trim(true);
				return $adapter->convert($data['name']) . ' ' . $adapter->default('Anonymous')->convert($data['lastname']);
			},
			'adapter' => (new VString())->case('title')->trim(true)
		],
		'AGE' => [
			'src' => ['additional', 'age'],
			'adapter' => (new VInt())->min(16)
		]
	]);

```

Convert:

```
$result = $adapter->convert($input);

```

Result:

```
[
	'NAME' => 'James',
	'LAST_NAME' => 'Bond',
	'FULL_NAME' => 'James Bond',
	'AGE' => 27
];

```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

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

521d ago

### Community

Maintainers

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

---

Top Contributors

[![atrumursus](https://avatars.githubusercontent.com/u/35576700?v=4)](https://github.com/atrumursus "atrumursus (15 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/atrumursus-values-adapter/health.svg)

```
[![Health](https://phpackages.com/badges/atrumursus-values-adapter/health.svg)](https://phpackages.com/packages/atrumursus-values-adapter)
```

###  Alternatives

[odolbeau/phone-number-bundle

Integrates libphonenumber into your Symfony application

24910.3M11](/packages/odolbeau-phone-number-bundle)[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[log1x/acf-phone-number

A real ACF phone number field.

12072.5k](/packages/log1x-acf-phone-number)[serendipity_hq/component-value-objects

A set of value objects to manage simple and composite values

20558.6k4](/packages/serendipity-hq-component-value-objects)[rynpsc/craft-phone-number

International phone number field.

2265.9k](/packages/rynpsc-craft-phone-number)

PHPackages © 2026

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