Skip to content

2.0.0 – Copy v2

Compare
Choose a tag to compare
@0xPaul 0xPaul released this 13 Jun 09:40
· 11 commits to master since this release
2.0.0

As documented, Copy is the backbone of most mappings and this major release brings several improvements to Copy that make both Walk and Translate obsolete and have thus been removed in this version.

  • Added support for expression paths in Copy; makes Translate strategy obsolete.
  • Added data override parameter to Copy; makes Walk strategy obsolete.
  • CollectionMapper now accepts any expression type instead of just Mapping.
  • MapperAware now implements KeyAware.
  • MapperAwareTrait now uses KeyAwareTrait.

Breaking changes

Migrating to 2.0.0 is painless for anyone not using Walk or Translate strategies and easy even for those who are.

  • Every occurrence of Translate can simply be replaced with Copy.
  • Every occurrence of Walk can be replaced with Copy by transposing parameters.

The change to CollectionMapper is harmless for most users except those extending the mapCollection method. The method signature must be updated due to PHP's type invariance but otherwise should function exactly the same as before.

Anyone extending MapperAware must ensure they also implement KeyAware, however since most users doing this should be using MapperAwareTrait, the updates to that trait should handle this automatically.