PHPackages                             tacone/datasource - 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. tacone/datasource

ActiveLibrary

tacone/datasource
=================

Wrapper for arrays, pojos and Eloquent

0.1(10y ago)2290PHPPHP &gt;=5.5.0

Since Sep 29Pushed 10y ago1 watchersCompare

[ Source](https://github.com/tacone/datasource)[ Packagist](https://packagist.org/packages/tacone/datasource)[ RSS](/packages/tacone-datasource/feed)WikiDiscussions master Synced today

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

DataSource
==========

[](#datasource)

[![Build Status](https://camo.githubusercontent.com/dd3b554b35c8be081552f741a2d1e9277b4b6b979697133394e9cf1a2ec4a923/68747470733a2f2f7472617669732d63692e6f72672f7461636f6e652f64617461736f757263652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/tacone/datasource)[![Coverage Status](https://camo.githubusercontent.com/7f0282a3d435da8482eb8ab6561dde9678531f6a64391f6a61275a56bea5a952/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f7461636f6e652f64617461736f757263652f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/tacone/datasource?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/8a9a018ded0236947f39d8cbe3db12db01d5f1858eb61df25a50a6957bdcb73b/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7461636f6e652f64617461736f757263652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/tacone/datasource/?branch=master)

A generic, wrapper object to easily access arrays, plain objects, laravel models using the dotted syntax.

For eloquent models, accessing and saving of related models is supported, even though not all the relationship kinds are there yet.

```
$source = new DataSource(new Customer());
$source['name'] = 'Frank';
$source['surname'] = 'Sinatra';
$source['details.email'] = 'frank@example.com';
$source['details.twitter'] = '@therealfrankie';

$source->save();
```

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

[](#requirements)

- PHP 5.5.0
- Laravel 4.2 or greater.

Laravel is not required if you only need to manipulate POJOs and arrays.

Testing
-------

[](#testing)

To test this package you need to install it under a working Laravel installation. Then `cd` in the package folder and run `php unit`.

If you just want to develop this package and want to set up an ad hoc installation of Laravel, you can use `script/test-with-laravel.php`.

###  Health Score

25

—

LowBetter than 39% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

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

3828d ago

### Community

Maintainers

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

---

Top Contributors

[![tacone](https://avatars.githubusercontent.com/u/659801?v=4)](https://github.com/tacone "tacone (20 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tacone-datasource/health.svg)

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

###  Alternatives

[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169175.3k2](/packages/spatie-laravel-mix-preload)

PHPackages © 2026

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