PHPackages                             fmasa/doctrine-nullable-embeddables - 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. [Database &amp; ORM](/categories/database)
4. /
5. fmasa/doctrine-nullable-embeddables

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

fmasa/doctrine-nullable-embeddables
===================================

Mechanism for nullable embeddables in Doctrine 2.5+

1.0.1(8y ago)525.5k↑87.5%2[1 issues](https://github.com/fmasa/doctrine-nullable-embeddables/issues)MITPHPPHP ^7.0

Since Jul 4Pushed 8y ago2 watchersCompare

[ Source](https://github.com/fmasa/doctrine-nullable-embeddables)[ Packagist](https://packagist.org/packages/fmasa/doctrine-nullable-embeddables)[ RSS](/packages/fmasa-doctrine-nullable-embeddables/feed)WikiDiscussions master Synced 1mo ago

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

Doctrine nullable embeddables
=============================

[](#doctrine-nullable-embeddables)

[![Build Status](https://camo.githubusercontent.com/236cade81e7097a6dcdabe4d9320334338f60c0a1ba4ee9bf093dfec38d8cfb4/68747470733a2f2f7472617669732d63692e6f72672f666d6173612f646f637472696e652d6e756c6c61626c652d656d6265646461626c65732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/fmasa/doctrine-nullable-embeddables)[![Coverage Status](https://camo.githubusercontent.com/396f9db5f627972b2e2a084275a2ff2214dab165ac7ab871faba26ab3cad7d1d/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f666d6173612f646f637472696e652d6e756c6c61626c652d656d6265646461626c65732f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/fmasa/doctrine-nullable-embeddables?branch=master)

This package serves as workaround for Doctrine's lack of support of nullable embeddables due to implementation of embeddables in Doctrine 2.5+ For more informations about the issue see [doctrine/doctrine2](https://github.com/doctrine/doctrine2/issues/4568).

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

[](#installation)

The best way to install fmasa/doctrine-yaml-annotations is using [Composer](https://getcomposer.org/):

```
$ composer require fmasa/doctrine-nullable-embeddables

```

There are several conditions that has to be met:

- Property with nullable embeddable must use `Fmasa\DoctrineNullableEmbeddables\Annotations\Nullable` annotation.
- Every property in nullable embeddable must be nullable (or must use `Nullable` annotation if it's embeddable)

Now all you have to do is register `Fmasa\DoctrineNullableEmbeddables\Subscriber` and you have nullable embeddables working:

```
/* @var $annotationReader Doctrine\Common\Annotations\Reader */
/* @var $em Doctrine\ORM\EntityManager */

$evm->addEventSubscriber(new Fmasa\DoctrineNullableEmbeddables\Subscriber($annotationReader));
```

### But I'm using YAML for mapping!

[](#but-im-using-yaml-for-mapping)

See [fmasa/doctrine-yaml-annotations](https://github.com/fmasa/doctrine-yaml-annotations) to make extensions like this work with YAML mapping.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 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 ~116 days

Total

3

Last Release

3008d ago

Major Versions

0.1 → 1.02017-09-01

### Community

Maintainers

![](https://www.gravatar.com/avatar/23986c5d998fff583e89fc5aaa96797c37b09eb1b037512b570a03590e19e06e?d=identicon)[fmasa](/maintainers/fmasa)

---

Top Contributors

[![fmasa](https://avatars.githubusercontent.com/u/5658260?v=4)](https://github.com/fmasa "fmasa (23 commits)")

---

Tags

ddddoctrine2embeddablesormvalue-object

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fmasa-doctrine-nullable-embeddables/health.svg)

```
[![Health](https://phpackages.com/badges/fmasa-doctrine-nullable-embeddables/health.svg)](https://phpackages.com/packages/fmasa-doctrine-nullable-embeddables)
```

###  Alternatives

[scienta/doctrine-json-functions

A set of extensions to Doctrine that add support for json query functions.

58723.9M36](/packages/scienta-doctrine-json-functions)[damienharper/auditor-bundle

Integrate auditor library in your Symfony projects.

4542.8M](/packages/damienharper-auditor-bundle)[sonata-project/entity-audit-bundle

Audit for Doctrine Entities

644989.8k1](/packages/sonata-project-entity-audit-bundle)[pixelfederation/doctrine-resettable-em-bundle

Symfony bundle for decorating default entity managers using a resettable decorator.

20113.5k](/packages/pixelfederation-doctrine-resettable-em-bundle)[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.

1022.4k](/packages/rcsofttech-audit-trail-bundle)[ahmed-bhs/doctrine-doctor

Runtime analysis tool for Doctrine ORM integrated into Symfony Web Profiler. Unlike static linters, it analyzes actual query execution at runtime to detect performance bottlenecks, security vulnerabilities, and best practice violations during development with real execution context and data.

813.1k](/packages/ahmed-bhs-doctrine-doctor)

PHPackages © 2026

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