PHPackages                             veewee/reflecta - 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. veewee/reflecta

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

veewee/reflecta
===============

Unleash the Power of Optics in your code!

1.0.1(1mo ago)13422.0k↓31.7%1[1 PRs](https://github.com/veewee/reflecta/pulls)2MITPHPPHP ~8.4.0 || ~8.5.0CI passing

Since Nov 17Pushed 5d ago2 watchersCompare

[ Source](https://github.com/veewee/reflecta)[ Packagist](https://packagist.org/packages/veewee/reflecta)[ GitHub Sponsors](https://github.com/veewee)[ RSS](/packages/veewee-reflecta/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (42)Versions (32)Used By (2)

🪞 REFLECTA 🪞
------------

[](#-reflecta--)

### Unleash the Power of Optics in your code

[](#unleash-the-power-of-optics-in-your-code)

Welcome to Reflecta!

Transform your data like never before with this optics implementation – a set of sleek, intuitive tools designed to empower your code with the finesse of reflection, the precision of lenses, and the magic of Isomorphisms. Say goodbye to the complexities, and hello to a world where building, accessing and manipulating your data structures becomes as effortless as a brushstroke on a canvas.

Dive into this Optics Toolkit, where coding meets artistry, and simplicity meets power. It's not just about data – it's about orchestrating a symphony of possibilities. Your data has never looked so good!

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

[](#installation)

Reflecta is installed via Composer.

```
composer require veewee/reflecta

```

> Requires PHP 8.1+

**Warning.** This package is primarily published to receive early feedback and for contributors, during this development phase we cannot guarantee the stability of the APIs, consider each release to contain breaking changes.

### Psalm support

[](#psalm-support)

This package is created with type-safety and error awareness in mind.

In order to have better type inference, this package comes shipped with a psalm plugin. You can enable it by:

```
./vendor/bin/psalm-plugin enable 'VeeWee\Reflecta\Psalm\Plugin'

```

> Requires vimeo/psalm 5+

Components
----------

[](#components)

This package provides following components:

- [ArrayAccess](/docs/array-access.md): Helps you read from and write to arrays.
- [Iso](/docs/isomorphisms.md): Provides bidirectional transformations on your data.
- [Lens](/docs/lens.md): Separate your data from it's structure
- [Reflect](/docs/reflect.md): Helps you read from and write to objects in a runtime-safe context.

> Finding your way around optics? The [🧬 STAB optics walkthrough](/docs/stab-optics.md) maps out the `S`, `T`, `A`, `B` type parameters with worked examples.

Inspiration
-----------

[](#inspiration)

This library was inspired by the following projects:

- [marcosh/lamphpda-optics](https://github.com/marcosh/lamphpda-optics)
- [fp-ts/optic](https://github.com/fp-ts/optic)
- [haskell lens](https://hackage.haskell.org/package/lens)

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance96

Actively maintained with recent releases

Popularity45

Moderate usage in the ecosystem

Community19

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 96.9% 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 ~42 days

Recently: every ~16 days

Total

23

Last Release

36d ago

Major Versions

0.x-dev → 1.0.02026-05-27

PHP version history (4 changes)0.1.0PHP ~8.1.0 || ~8.2.0 || ~8.3.0

0.10.0PHP ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0

0.14.0PHP ~8.3.0 || ~8.4.0 || ~8.5.0

0.18.0PHP ~8.4.0 || ~8.5.0

### Community

Maintainers

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

---

Top Contributors

[![veewee](https://avatars.githubusercontent.com/u/1618158?v=4)](https://github.com/veewee "veewee (93 commits)")[![jdreesen](https://avatars.githubusercontent.com/u/424602?v=4)](https://github.com/jdreesen "jdreesen (2 commits)")[![raphaelstolt](https://avatars.githubusercontent.com/u/48225?v=4)](https://github.com/raphaelstolt "raphaelstolt (1 commits)")

---

Tags

array-accesshacktoberfestisomorphismslensesopticsreflectionreflectionarray-accesslensesopticsisomorphisms

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/veewee-reflecta/health.svg)

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

###  Alternatives

[phpro/soap-client

A general purpose SoapClient library

8896.1M54](/packages/phpro-soap-client)[veewee/xml

XML without worries

1837.0M39](/packages/veewee-xml)[php-soap/wsdl

Deals with WSDLs

184.0M19](/packages/php-soap-wsdl)[roave/backward-compatibility-check

Tool to compare two revisions of a public API to check for BC breaks

6003.7M96](/packages/roave-backward-compatibility-check)[phpdocumentor/reflection-common

Common reflection classes used by phpdocumentor to reflect the code structure

9.1k736.5M37](/packages/phpdocumentor-reflection-common)[symfony/property-access

Provides functions to read and write from/to an object or array using a simple string notation

2.8k317.3M3.2k](/packages/symfony-property-access)

PHPackages © 2026

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