Skip to content

Commit 849bbdd

Browse files
author
Codeliner
committed
ChapterThree: Add list of ddd tools
1 parent cd211d5 commit 849bbdd

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ PHP version of the cargo sample used in Eric Evans Domain-Driven Design book
77
[![Build Status](https://travis-ci.org/codeliner/php-ddd-cargo-sample.png?branch=master)](https://travis-ci.org/codeliner/php-ddd-cargo-sample)
88

99
[> Installation](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/docs/installation.md)
10-
10+
[> DDD Tools and Libs](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/docs/domain-driven-design-tools.md)
1111
Goal of the Project
1212
-------------------
1313
We want to show the PHP way of implementing Domain-Driven Design with the help of

docs/domain-driven-design-tools.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
Domain-Driven Design Tools for PHP
2+
==================================
3+
4+
We have listed a selection of useful tools and libraries that help you implementing Domain-Driven Design patterns.
5+
This list is not meant to be complete. It is just a choice of personal favorites.
6+
If you think we have missed an important tool, than please provide a pull request with your addition or simply open an [issue](https://github.com/codeliner/php-ddd-cargo-sample/issues).
7+
8+
DDD Interfaces
9+
--------------
10+
11+
###codeliner/shared-domain-set
12+
Collection of common DDD interfaces like EntityInterface, ValueObjectInterface, DomainEventInterface
13+
[GitHub Repository](https://github.com/codeliner/shared-domain-set)
14+
15+
16+
ValueObjects
17+
------------
18+
19+
###nicolopignatelli/valueobjects
20+
A PHP 5.3+ library/collection of classes aimed to help developers with domain driven development and the use of immutable objects.
21+
[GitHub Repository](https://github.com/nicolopignatelli/valueobjects)
22+
23+
24+
Little Helper
25+
-------------
26+
27+
###beberlei/assert
28+
A simple php library which contains assertions and guard methods for input validation. Useful to guard your domain objects.
29+
[GitHub Repository](https://github.com/beberlei/assert)
30+
31+
###codeliner/php-equalsbuilder
32+
EqualsBuilder for PHP. Ease the comparison of ValueObject properties within ValueObjectInterface#sameValueAs implementations.
33+
See our [RoteSpecification#sameValueAs](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/module/Application/src/Application/Domain/Model/Cargo/RouteSpecification.php) as an example.
34+
[GitHub Repository](https://github.com/codeliner/php-equalsbuilder)
35+
36+
Storage
37+
-------
38+
39+
###doctrine/doctrine2
40+
Doctrine 2 is an object-relational mapper (ORM) for PHP 5.3.2+ that provides transparent persistence for PHP objects. It fits well with DDD and helps you implement the repository pattern. See the various examples in our cargo shipping system.
41+
[GitHub Repository](https://github.com/doctrine/doctrine2)
42+
43+
###doctrine/mongodb-odm
44+
The Doctrine MongoDB ODM project is a library that provides a PHP object mapping functionality for MongoDB. If you prefer using MongoDB as storage system, this library helps you implement the repository pattern like doctrine ORM do for Sql DBMS.
45+
[GitHub Repository](https://github.com/doctrine/mongodb-odm)
46+
47+
###doctrine/couchdb-odm
48+
A Document Mapper based on CouchDB. If you prefer using CouchDB as storage system, this library helps you implement the repository pattern like doctrine ORM do for Sql DBMS.
49+
[GitHub Repository](https://github.com/doctrine/couchdb-odm)

0 commit comments

Comments
 (0)