PHPackages                             jonmldr/property-accessor - 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. jonmldr/property-accessor

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

jonmldr/property-accessor
=========================

PropertyAccessor

v0.1.0(6y ago)2431MITPHPPHP ^7.0

Since Nov 17Pushed 5y ago1 watchersCompare

[ Source](https://github.com/jonmldr/property-accessor)[ Packagist](https://packagist.org/packages/jonmldr/property-accessor)[ RSS](/packages/jonmldr-property-accessor/feed)WikiDiscussions master Synced 6d ago

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

PropertyAccessor
================

[](#propertyaccessor)

This PropertyAccessor allows you to access properties using getters, issers, hassers, or directly if the property is public.

This library also provides a `getAccessMethod` function, which returns a implementation of the `AccessMethodInterface`. This function tells you how the property will be accessed.

Installation
------------

[](#installation)

```
composer require jonmldr/property-accessor

```

Example
-------

[](#example)

Value

```
$propertyAccessor = new PropertyAccessor();
// Will throw an `NoAccessMethodException` if there is no method to access the property.
$repositoryName = $propertyAccessor->getValue('users[0].repositories[0].name', $userGroup);
```

Access method

```
$accessMethod = $this->propertyAccessor->getAccessMethod('licensePlate', Car::class);

if ($accessMethod instanceof MethodAccessMethod) {
    // The value will be accessed by a method.
    $methodName = $accessMethod->getMethodName();
} elseif ($accessMethod instanceof ProperyAccessMethod) {
    // The value will be accessed by a (public) property.
    $propertyName = $accessMethod->getPropertyName();
} elseif ($accessMethod === null) {
    // No access method found.
}
```

Tests
-----

[](#tests)

Run the unit tests by executing the following command:

```
./vendor/bin/phpunit tests/ --colors=auto

```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

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

2373d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a1881518c029d85de251e03cf12ac5d662c0fc578e7112da95723cb3daaf075?d=identicon)[jonmldr](/maintainers/jonmldr)

---

Top Contributors

[![jonmldr](https://avatars.githubusercontent.com/u/33514542?v=4)](https://github.com/jonmldr "jonmldr (15 commits)")[![peter279k](https://avatars.githubusercontent.com/u/9021747?v=4)](https://github.com/peter279k "peter279k (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jonmldr-property-accessor/health.svg)

```
[![Health](https://phpackages.com/badges/jonmldr-property-accessor/health.svg)](https://phpackages.com/packages/jonmldr-property-accessor)
```

###  Alternatives

[bertptrs/phpstreams

A streams library for PHP based on the Java 8 Streams API.

883.2k](/packages/bertptrs-phpstreams)[cheprasov/php-parallel

The class allows you to run multiple operations parallel in different processes and send results to the main process. Useful if you need to run multiple independent operations simultaneously, instead of sequential execution, or if you run several independent queries, for example, queries to different data bases

1712.5k5](/packages/cheprasov-php-parallel)

PHPackages © 2026

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