This repository has been archived by the owner on Jan 8, 2020. It is now read-only.
Main framework composer.json is incorrectly configured #4284
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.
The I18n component's composer.json specifies a requirement for the intl extension to be installed. The main framework composer.json only specifies the intl extension as a suggestion, but simultaneously claims to replace the I18n component.
The upshot of this is that anybody who tries to install any Zend component with a dependency on the I18n component through Composer will receive the entire Zend framework rather than just the dependency they requested, unless they have the PHP intl extension installed on their machine.
The reason for this is that the Composer solver sees the framework as a way to get zend-i18n without the requirement for the intl extension to be installed. A quick search reveals that many have been caught out by this behaviour:
This PR adds a requirement for the intl extension to the main framework composer.json, which will stop these type of issues from occurring.
Note, I am assuming that zend-i18n does in fact have a concrete requirement on the intl extension and cannot function without it. In which case, since the framework includes the zend-i18n code, this concrete requirement extends to the main framework also.