PHPackages                             johnniewalker/xandria - 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. johnniewalker/xandria

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

johnniewalker/xandria
=====================

A set of classes useful for implementing DDD, Object Mapping patterns.

v0.0.4(8y ago)14.0k[2 issues](https://github.com/johnniewalker/xandria/issues)Apache-2.0PHPPHP &gt;=5.2.9

Since Dec 26Pushed 8y ago1 watchersCompare

[ Source](https://github.com/johnniewalker/xandria)[ Packagist](https://packagist.org/packages/johnniewalker/xandria)[ Docs](https://github.com/johnniewalker/xandria)[ RSS](/packages/johnniewalker-xandria/feed)WikiDiscussions master Synced today

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

xandria
-------

[](#xandria)

A library of key object-oriented programming patterns which, coupled with a [demo application](https://github.com/johnniewalker/xandria-demo), shows them being implemented and put to use.

Patterns include those involved in Domain Driven Design, Patterns of Enterprise Architecture and Object-to-Relational Mapping.

Quick Start
-----------

[](#quick-start)

### Project Home

[](#project-home)

The project is open source and managed in github at:

-

### Get Xandria

[](#get-xandria)

### How developers get and test the Xandra library

[](#how-developers-get-and-test-the-xandra-library)

Get the source
--------------

[](#get-the-source)

Use the command line to navigate to the directory on your work station where you develop libraries. Create one if necessary.

Clone the repository from Github.

Enter the project directory.

Ensure composer is installed.

Run the install --dev command:

```
# composer install --dev

```

Note the `--dev` option ensures that our testing libraries are also installed.

Run the unit tests
------------------

[](#run-the-unit-tests)

Still within a command-line environment, ensure we are in the root directory of the project.

Run :

```
# ./vendor/bin/codecept run unit

```

Using Xandria in your project
-----------------------------

[](#using-xandria-in-your-project)

We assume you use [composer](https://getcomposer.org/) in your project.

[Xandria is listed on Packagist](https://packagist.org/packages/johnniewalker/xandria).

Navigate to your project's root directory.

```
# pwd
/My/Projects/SomeProject

```

Then, '`composer require`' the library:

```
# composer require johnniewalker/xandria

```

### Why called Xandria?

[](#why-called-xandria)

The project is named Xandria after the Ancient Library of Alexandria, in Alexandria, Egypt. Which was one of the largest and most significant libraries of the ancient world. It functioned as a major center of scholarship from its construction in the 3rd century BC until the Roman conquest of Egypt in 30 BC.

The first one is rumoured to have burned down destroying reams of ancient knowledge. Let's hope this digital one doesn't face the same dooooom.

### Git Intros

[](#git-intros)

-  -- Github Help -- Gets you up and running with Git/GitHub
-  -- Git for Computer Scientists - A nice overview of how git works.

### Collaboration

[](#collaboration)

Use the Fork &amp; Pull Model.
==============================

[](#use-the-fork--pull-model)

Let's follow some advice from page 335 of the book, ZeroMQ by Pieter Hintjens (2013).

Keep everything in the master and use GitHub pull requests to merge changes from multiple contributors.

See:  -- Fork &amp; Pull Model

### Documentation Formatting

[](#documentation-formatting)

Documents and message are currently written in mark down format.

-  -- Cheatsheet
-  -- Markdown basics
-  -- GitHub Flavored Markdown

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.4% 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 ~110 days

Total

2

Last Release

2948d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/53ad85193baa661efdd4d5bc5178e6175e82a12e68b634c5f2eb159611ba85bd?d=identicon)[johnniewalker](/maintainers/johnniewalker)

---

Top Contributors

[![johnniewalker](https://avatars.githubusercontent.com/u/605112?v=4)](https://github.com/johnniewalker "johnniewalker (17 commits)")[![john-arcus](https://avatars.githubusercontent.com/u/32770045?v=4)](https://github.com/john-arcus "john-arcus (6 commits)")[![fazalrasel](https://avatars.githubusercontent.com/u/6649585?v=4)](https://github.com/fazalrasel "fazalrasel (3 commits)")

---

Tags

ddddatamapper

###  Code Quality

TestsCodeception

### Embed Badge

![Health badge](/badges/johnniewalker-xandria/health.svg)

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

###  Alternatives

[prooph/service-bus

PHP Enterprise Service Bus Implementation supporting CQRS and DDD

4421.4M32](/packages/prooph-service-bus)[ecotone/ecotone

Supporting you in building DDD, CQRS, Event Sourcing applications with ease.

558549.8k17](/packages/ecotone-ecotone)[prooph/event-sourcing

PHP EventSourcing library

267808.5k18](/packages/prooph-event-sourcing)[phpmentors/domain-kata

Kata for domain models

73426.9k9](/packages/phpmentors-domain-kata)[aura/payload

A Domain Payload implementation.

56370.4k9](/packages/aura-payload)[aura/payload-interface

An interface package for Domain Payload implementations.

13392.7k4](/packages/aura-payload-interface)

PHPackages © 2026

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