PHPackages                             arkye/support - 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. arkye/support

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

arkye/support
=============

Arkye Support Package

2.3.0(3y ago)01.5k1MITPHPPHP ^8.1|^8.2

Since Feb 28Pushed 3y ago1 watchersCompare

[ Source](https://github.com/arkye/support)[ Packagist](https://packagist.org/packages/arkye/support)[ Docs](https://github.com/arkye/support)[ RSS](/packages/arkye-support/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (5)Versions (6)Used By (1)

 [ ![Build Status](https://github.com/arkye/support/workflows/tests/badge.svg) ](https://github.com/arkye/support/actions) [ ![Total Downloads](https://camo.githubusercontent.com/df07ae3ed2aadfa8be2f068e0761a22c037e54221a15faeb1fdbeb729d18ba54/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61726b79652f737570706f7274) ](https://packagist.org/packages/arkye/support) [ ![Latest Stable Version](https://camo.githubusercontent.com/f98e87249b3e29a89a21b85732da2f21381a203f8bbfddf25402f39a71f82c3f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61726b79652f737570706f7274) ](https://packagist.org/packages/arkye/support) [ ![License](https://camo.githubusercontent.com/4b67d1a5fa95b5994ab708603c8abcaa43ef76881e116ae231f9423c3371b286/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f61726b79652f737570706f7274) ](https://packagist.org/packages/arkye/support)

Requirements
------------

[](#requirements)

Is important to know that we use PHP Attributes, so you need to work with PHP versions higher than 8.0

Install
-------

[](#install)

```
composer require arkye/support

```

Documentation
-------------

[](#documentation)

### DataTransferObjects (DTO)

[](#datatransferobjects-dto)

#### Casters

[](#casters)

Arkye DataTransferObject extends spatie's implementation ([go to repo](https://github.com/spatie/data-transfer-object)) so check their docs if you have any questions or issues not related with addons below.

Arkye implementation has DefaultCast to \\Carbon\\Carbon and \\Illuminate\\Support\\Collection, so you don't need to do it by yourself on each of your classes.

```
use Carbon\Carbon;
use Illuminate\Support\Collection;
use Arkye\Support\DataTransferObject\DataTransferObject;

class MyDTO extends DataTransferObject
{
    public Carbon $createdAt;
    public Collection $tags;
}

$dto = new MyDTO(createdAt: '2000-01-01', tags: ['tag1', 'tag2']);
```

We also have an CaseTransformer class attribute to convert key case on the DTO creation or transformation. This is useful when working with apis, sometimes we use snake case with external communication, but camel case on our internal code.

First argument of transformer specifies the DTO properties case, and second the case when converting into array or json.

```
use Arkye\Support\Data\Data\Attributes\Transformers\CaseTransformer;use Arkye\Support\DataTransferObject\DataTransferObject;use Carbon\Carbon;

#[CaseTransformer('camel', 'snake')]
class MyDTO extends DataTransferObject
{
    public Carbon $createdAt;
    public string $fullName;
}

// Request came with created_at and full_name
$dto = new MyDTO(request()->all());

// Do some work with DTO...

// Will be converted to snake case again
response()->json($dto->toArray());
```

If you want to convert input but maintain case on conversion to array or json, just leave second argument of CaseTransformation empty (output):

```
use Arkye\Support\Data\Data\Attributes\Transformers\CaseTransformer;use Arkye\Support\DataTransferObject\DataTransferObject;use Carbon\Carbon;

#[CaseTransformer('camel')]
class MyDTO extends DataTransferObject
{
    public Carbon $createdAt;
    public string $fullName;
}

// Request came with created_at and full_name
$dto = new MyDTO(request()->all());

// Do some work with DTO...

// Will be {"createdAt": "something", "fullName": "something"}
die($dto->tojson());
```

Contributing
------------

[](#contributing)

Thank you for considering contributing to Arkye! You can read the contribution guide [here](.github/CONTRIBUTING.md).

Code of Conduct
---------------

[](#code-of-conduct)

Please review and abide by the [Code of Conduct](.github/CODE_OF_CONDUCT.md).

License
-------

[](#license)

Arkye Support is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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 ~117 days

Total

5

Last Release

1115d ago

Major Versions

1.0.1 → 2.0.02023-01-12

PHP version history (2 changes)1.0.0PHP ^8.0|^8.1

2.0.0PHP ^8.1|^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3900?v=4)[Gus Knowlden](/maintainers/gus)[@gus](https://github.com/gus)

---

Top Contributors

[![gusiq](https://avatars.githubusercontent.com/u/12137961?v=4)](https://github.com/gusiq "gusiq (7 commits)")

---

Tags

helperssupportarkye

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/arkye-support/health.svg)

```
[![Health](https://phpackages.com/badges/arkye-support/health.svg)](https://phpackages.com/packages/arkye-support)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)

PHPackages © 2026

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