PHPackages                             northern/doctrine - 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. northern/doctrine

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

northern/doctrine
=================

Doctrine configuration helper.

1.0.0(11y ago)0100[1 issues](https://github.com/northern/Doctrine/issues)MITPHPPHP &gt;=5.3

Since Oct 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/northern/Doctrine)[ Packagist](https://packagist.org/packages/northern/doctrine)[ RSS](/packages/northern-doctrine/feed)WikiDiscussions dev-master Synced 2d ago

READMEChangelogDependencies (4)Versions (3)Used By (0)

Doctrine
========

[](#doctrine)

Northern Doctrine is a small library that makes it easy to add Doctrine configuration to plain PHP applications without having to rely on frameworks such as Symfony 2.

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

[](#installation)

Simply add it to your Composer.json:

```
"northern/doctrine": "1.0.0"

```

DoctrineConfig
--------------

[](#doctrineconfig)

To use the `DoctrineConfig` class simply instantiate it and pass the path to the location in the file system when the YAML configuration files are located:

```
use Northern\Doctrine\DoctrineConfig;

$doctrine = new DoctrineConfig( "./config", 'dev' );
```

The `DoctrineConfig` class tries to load 2 configuation files from the specified location. The first configuration file is called `config.yml` and contains the basic configuration. The `config.yml` has the following sections:

```
doctrine:
  database:
    driver:   pdo_mysql
    dbname:   dbname
    user:     username
    password: password
    charset:  utf8

  entity:
    paths:
      - "src/Acme/Entity"

  proxy:
    path: "cache/doctrine"
    namespace: Acme\Entites\Proxies

  isDevMode: true
```

The `database` section should be pretty straight, simply supply the database details.

The `entity` section specifies the file system location of where your entity class files are located. Notice that `paths` is an array and you can add multiple locations here.

The `proxy` section specifies where the proxy classes Doctine generates will be stored. It's also required to specify the `namespace` of your proxies. Usually this is just the regulat namespace of your entites followed by `Proxies`.

The `isDevMode` parameter is `true` by default but for production applications can be set to `false` instead.

Besides needing the `config.yml` described above, it's also required to have an environment specific configurations. In the example above where we instantiate the `DoctrineConfig` class we also specify the enviroment which in this case is `dev`. Because of this, `DoctrineConfig` will after loading the `config.yml` try to load the `config_dev.yml` file. The environment specific configuration contains the settings for that specific enviroment. Usually this are just the database connection settings, such as:

```
doctrine:
  database
    dbname:   mydb
    user:     myuser
    password: secret
```

Make sure your enviroment config exists.

After instantiating the `DoctrineConfig` it's easy to get access to the Entity Manager:

```
$em = $doctrine->getEntityManager();
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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

4228d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/92f7c0328282deaf59b050a0448ff82eafe57e1e7c16ba952daad326e1aaeabc?d=identicon)[northern](/maintainers/northern)

---

Top Contributors

[![northern](https://avatars.githubusercontent.com/u/547843?v=4)](https://github.com/northern "northern (18 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/northern-doctrine/health.svg)

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

###  Alternatives

[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

310107.9k1](/packages/cognesy-instructor-php)[chh/pipe

Put your assets into the Pipe and smoke them.

1212.5k1](/packages/chh-pipe)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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