PHPackages                             zarganwar/php-di-nextras-orm-extension - 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. zarganwar/php-di-nextras-orm-extension

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

zarganwar/php-di-nextras-orm-extension
======================================

1.0.0(2y ago)19PHPPHP ^8.1

Since Jan 4Pushed 2y ago2 watchersCompare

[ Source](https://github.com/Zarganwar/php-di-nextras-orm-extension)[ Packagist](https://packagist.org/packages/zarganwar/php-di-nextras-orm-extension)[ RSS](/packages/zarganwar-php-di-nextras-orm-extension/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

How to use
----------

[](#how-to-use)

Create your model classes see [Nextras/Orm](https://nextras.org/orm)
--------------------------------------------------------------------

[](#create-your-model-classes-see-nextrasorm)

### Entities

[](#entities)

```
use Nextras\Orm\Entity\Entity;

/**
 * @property-read int $id {primary}
 * @property string $name
 */
final class Account extends Entity
{

}
```

### Mappers

[](#mappers)

```
use \Nextras\Orm\Mapper\Mapper;

final class AccountMapper extends Mapper
{

}
```

### Repositories

[](#repositories)

Use `RepositoryMapper` attribute to map repository to mapper class

```
use Zarganwar\PhpDiNextrasOrmExtension\NextrasOrmPhpDiExtension\Attributes\RepositoryMapper;
use Nextras\Orm\Repository\Repository;

#[RepositoryMapper(AccountMapper::class)]
final class AccountRepository extends Repository
{

	public static function getEntityClassNames(): array
	{
		return [Account::class];
	}

}
```

### Model

[](#model)

- Use `ModelRepository` attribute to map repository to model class.
- Every repository must be mapped to model class!
- !Do not configure model by [Nextras/Orm - Nette](https://nextras.org/orm/docs/main/config-nette)!

```
use Zarganwar\PhpDiNextrasOrmExtension\NextrasOrmPhpDiExtension\Attributes\ModelRepository;

#[ModelRepository(AccountRepository::class, 'accounts')]
// ...
// ...
final class Model extends \Nextras\Orm\Model\Model
{

}
```

Register extension
------------------

[](#register-extension)

Use Config class to configure extension

```
// config.php
use Zarganwar\PhpDiNextrasOrmExtension\NextrasOrmPhpDiExtension\Config;
use Zarganwar\PhpDiNextrasOrmExtension\NextrasOrmPhpDiExtension\OrmExtension;
use Psr\Container\ContainerInterface;

return [
    // Configure extension
	Config::class => fn(ContainerInterface $c) => new Config(
		cacheDirectory: __DIR__ . '/../var/cache',
		modelClass: Model::class,
		connection: [/* See class PhpDoc */]
	),

    // Register extension
	OrmExtension::class => fn(ContainerInterface $container) => new OrmExtension(
		$container,
		$container->get(Config::class),
	),
];
```

After container build call `OrmExtension::register` method

```
$containerBuilder = new DI\ContainerBuilder();
$containerBuilder->addDefinitions(__DIR__ . '/config.php');
$build = $containerBuilder->build();

$build->call([OrmExtension::class, 'register']);
```

Enjoy
-----

[](#enjoy)

```
$container->get(AccountRepository::class)->findAll(); // Returns Nextras\Orm\Collection\ICollection
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

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

856d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2104391d837ea66c6936507b546bded99e9f036a5737d6b694712726506bed34?d=identicon)[Zarganwar](/maintainers/Zarganwar)

---

Top Contributors

[![Zarganwar](https://avatars.githubusercontent.com/u/8614429?v=4)](https://github.com/Zarganwar "Zarganwar (1 commits)")

---

Tags

nextras-ormphp-81php-diphp-di-container

### Embed Badge

![Health badge](/badges/zarganwar-php-di-nextras-orm-extension/health.svg)

```
[![Health](https://phpackages.com/badges/zarganwar-php-di-nextras-orm-extension/health.svg)](https://phpackages.com/packages/zarganwar-php-di-nextras-orm-extension)
```

###  Alternatives

[infinum/eightshift-libs

WordPress libs developed by Eightshift team to use in modern WordPress.

63118.9k3](/packages/infinum-eightshift-libs)[drupal-code-builder/drupal-code-builder

Code generator for Drupal

27241.1k1](/packages/drupal-code-builder-drupal-code-builder)[php-di/zf1-bridge

Integrates PHP-DI to Zend Framework 1

27457.8k1](/packages/php-di-zf1-bridge)[sansec/composer-integrity-plugin

5624.2k1](/packages/sansec-composer-integrity-plugin)[php-di/symfony-bridge

Integrates PHP-DI to Symfony

17168.2k](/packages/php-di-symfony-bridge)[okapi/aop

PHP AOP is a PHP library that provides a powerful Aspect Oriented Programming (AOP) implementation for PHP.

3812.0k](/packages/okapi-aop)

PHPackages © 2026

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