Provide default serializer via configuration #39
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Providing retrievable
Laminas\Serializer\AdapterInterface
service so that projects can fetch that service to retrieve the projectsdefault
serializer.This also removes
Laminas\Serializer\Serializer
which provided registry-like methods likeSerializer#setDefaultSerializer
,Serializer#getDefaultSerializer
or factories for serializers which are meant to be known or which can also be retrieved by using theAdapterPluginManager#build
method instead.Closes #24
Rationale of removing the
Serializer
class:Static classes providing runtime features such as holding default serializers or generic factories are not supported by laminas anymore. If there is a strong need for this kind of logic, projects can write their own registry to persist these kinds of defaults.
Laminas components are primarily meant to be used in projects with dependency injection. Retrieving and replacing default serializers via the container configuration will always be an option.