Skip to content

Commit

Permalink
docs: Add link to documentation website
Browse files Browse the repository at this point in the history
  • Loading branch information
priyadi committed Jan 13, 2024
1 parent a56d9c7 commit 3c101f6
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# CHANGELOG

## 0.5.5

* docs: Add link to documentation website.

## 0.5.4

* perf: Add a caching layer for `TypeResolver`
Expand Down
19 changes: 14 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,22 @@ An object mapper (also called automapper) for PHP and Symfony. It maps an object
to another object. Primarily used to map an entity to a DTO, but also useful for
other mapping purposes.

Full documentation is available at [rekalogika.dev/mapper](https://rekalogika.dev/mapper/).

## Features

* Automatically lists the properties of the source and target, detects their
types, and maps them accordingly.
* By default, does not attempt to circumvent your class constraints. Reads from
and writes to public properties, getters, setters, and constructors.
* By default, does not attempt to circumvent your class constraints. Reads only
from and writes only to public properties, getters, setters. Does not
instantiate objects without their constructor.
* Constructor initialization.
* Handles nested objects.
* Handles recursion and circular references.
* Reads the type from PHP type declaration and PHPDoc annotations, including the
type of the nested objects.
* Reads the type from PHP type declaration and PHPDoc annotations, including
the type of the nested objects.
* Handles `array`, `ArrayAccess` and `Traversable` objects, and the mapping
between them
between them.
* Lazy stream mapping if the target is type-hinted as `Traversable`. Consumes
less memory & avoids hydrating a Doctrine collection prematurely.
* In addition, when the target is `Traversable` and the source is a `Countable`,
Expand All @@ -32,6 +35,8 @@ other mapping purposes.
* Mapping to interfaces and abstract classes.
* Option to map to or from different property name? (seems to be a popular
feature, but I prefer the native OOP way of doing it)
* Option to read & write to private properties?
* Data collector and profiler integration.

## Installation

Expand Down Expand Up @@ -60,6 +65,10 @@ $book = new Book();
$bookDto = new BookDto();
$mapper->map($book, $bookDto);
```

## Documentation

[rekalogika.dev/mapper](https://rekalogika.dev/mapper/)
## License

MIT

0 comments on commit 3c101f6

Please sign in to comment.