PHPackages                             snoke/interface-associations - 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. snoke/interface-associations

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

snoke/interface-associations
============================

0.0.2(1y ago)016MITPHPPHP ^8.2

Since Jul 12Pushed 1y ago1 watchersCompare

[ Source](https://github.com/snoke/interface-associations)[ Packagist](https://packagist.org/packages/snoke/interface-associations)[ RSS](/packages/snoke-interface-associations/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

Interface Associations
======================

[](#interface-associations)

Bundle for Symfony7 with Doctrine ORM

The Interface Associations Bundle provides a way to replace ORM relations with interfaces and map them to concrete classes at runtime. This enables the development of abstract components.

installation
============

[](#installation)

run `composer req snoke/interface-associations`

Functionality
-------------

[](#functionality)

The bundle allows configuring remappings. You can specify which classes or interfaces should be replaced by other classes or interfaces, either globally or specifically for certain classes and properties.

configuration
-------------

[](#configuration)

edit `config/packages/snoke_interface_associations.yaml` as follows:

```
snoke_interface_associations:
    remap:
        - source: 'App\Interface\EntityInterface'
          target: 'App\Entity\User'
          class: 'App\Entity\AuthToken'
          field: 'user'
```

- source: The source class or interface to be remapped.
- target: The target class to remap to.
- class (optional): The class where the remapping should be applied. If not specified, the remapping is global.
- property (optional): The property within the class where the remapping should be applied. If not specified, the remapping applies to all properties of the class.

this way you can produce code having interfaces as relationships

```
    #[ORM\ManyToOne(inversedBy: 'accessTokens')]
    private EntityInterface $user;
```

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

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

Every ~0 days

Total

2

Last Release

720d ago

PHP version history (2 changes)0.0.1PHP ^8.1

0.0.2PHP ^8.2

### Community

Maintainers

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

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/snoke-interface-associations/health.svg)

```
[![Health](https://phpackages.com/badges/snoke-interface-associations/health.svg)](https://phpackages.com/packages/snoke-interface-associations)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1616.4k14](/packages/2lenet-crudit-bundle)

PHPackages © 2026

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